/* School ERP Front-end Portal */
.serp-portal { max-width: 960px; margin: 0 auto; font-family: inherit; }
.serp-portal-head { background: linear-gradient(135deg, var(--serp-primary, #2271b1), var(--serp-secondary, #135e96)); color: #fff; padding: 22px 26px; border-radius: 12px; }
.serp-portal-head h2 { margin: 0 0 4px; color: #fff; }
.serp-portal-head p { margin: 0; opacity: .9; }
.serp-portal-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0; }
.serp-portal-tabs a { padding: 8px 14px; background: #f0f0f1; border-radius: 20px; text-decoration: none; color: #1d2327; font-size: 14px; }
.serp-portal-tabs a.active { background: var(--serp-primary, #2271b1); color: #fff; }
.serp-portal-body { background: #fff; border: 1px solid #e2e4e7; border-radius: 12px; padding: 22px; }
.serp-pcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin-bottom: 16px; }
.serp-pcard { border: 1px solid #e2e4e7; border-radius: 10px; padding: 16px; text-align: center; }
.serp-pcard strong { display: block; font-size: 24px; }
.serp-pcard span { color: #787c82; font-size: 12px; }
.serp-ptable { width: 100%; border-collapse: collapse; margin: 10px 0; font-size: 14px; }
.serp-ptable th, .serp-ptable td { border: 1px solid #e2e4e7; padding: 8px 10px; text-align: left; }
.serp-ptable th { background: #f6f7f7; }
.serp-pbadge { padding: 2px 9px; border-radius: 14px; font-size: 11px; text-transform: uppercase; background: #e2e4e7; }
.serp-pbadge.present, .serp-pbadge.paid, .serp-pbadge.returned { background: #d3f2d7; color: #1a7a2e; }
.serp-pbadge.absent, .serp-pbadge.pending { background: #fbdcdc; color: #a30d0d; }
.serp-pbadge.late, .serp-pbadge.issued { background: #fdeec8; color: #8a5a00; }
.serp-notice { border-bottom: 1px solid #eee; padding: 10px 0; }
.serp-notice h4 { margin: 0 0 4px; }
.serp-list li { margin-bottom: 8px; }
.serp-msg { background: #d3f2d7; padding: 10px 14px; border-radius: 8px; }
.serp-msg-row { border: 1px solid #e2e4e7; border-radius: 10px; padding: 10px 14px; margin: 8px 0; max-width: 80%; }
.serp-msg-row.mine { margin-left: auto; background: var(--serp-soft, #f0f6fb); border-color: #c5d9ed; }
.serp-msg-row p { margin: 4px 0; }
.serp-msg-form input, .serp-msg-form textarea { width: 100%; margin: 6px 0; }
.serp-portal-login { max-width: 420px; margin: 40px auto; text-align: center; }
.serp-portal-login form, .serp-portal-login .description { text-align: left; }
.serp-login-brand { display: flex; align-items: center; justify-content: center; gap: 10px; }
.serp-login-logo { max-height: 48px; max-width: 110px; object-fit: contain; }
.serp-login-brand h2 { margin: 0; }
.serp-login-sub { color: #787c82; margin: 2px 0 16px; font-size: 13px; }
.serp-auth-label { display: block; font-size: 12px; color: #787c82; margin-bottom: 3px; }
.serp-msg-error { background: #fbdcdc; color: #a30d0d; }
.serp-auth-tabs { display: flex; gap: 6px; margin: 14px 0 16px; }
.serp-auth-tab { flex: 1; padding: 8px 10px; border: 1px solid #c3c4c7; background: #f0f0f1; color: #1d2327; border-radius: 20px; font-size: 13px; cursor: pointer; }
.serp-auth-tab.active { background: var(--serp-primary, #2271b1); color: #fff; border-color: var(--serp-secondary, #135e96); }
.serp-auth-pane input { width: 100%; margin: 6px 0; }
.serp-auth-pane .description { color: #787c82; font-size: 12px; margin: 0 0 8px; }
.serp-note { background: var(--serp-soft, #f0f6fb); border-left: 3px solid var(--serp-primary, #2271b1); padding: 10px 14px; }
.serp-kids { margin: 12px 0; }
.serp-pcards + h3 { margin-top: 20px; }

/* ---- Payments ---- */
.serp-invoice { border: 1px solid #e2e4e7; border-radius: 10px; padding: 14px 18px; margin: 12px 0; }
.serp-upi { margin-top: 8px; }
.serp-upi summary { cursor: pointer; font-weight: 600; }
.serp-upi-qr { margin: 10px 0; }
.serp-upi-qr img, .serp-upi-qr canvas { display: block; }

/* ---- Homework ---- */
.serp-hw { border: 1px solid #e2e4e7; border-radius: 10px; padding: 14px 18px; margin: 12px 0; }
.serp-hw h4 { margin: 0 0 6px; }
.serp-hw-meta { font-weight: 400; font-size: 12px; color: #787c82; }
.serp-hw-graded { background: #d3f2d7; padding: 8px 12px; border-radius: 8px; }
.serp-submission { border: 1px solid #e2e4e7; border-radius: 10px; padding: 12px 16px; margin: 10px 0; }

/* ---- ID Cards (CR80 size) ---- */
.serp-print-btn { margin: 10px 0; }
.serp-idcard-controls { display: flex; gap: 8px; align-items: center; margin: 10px 0; }
.serp-idcard-controls .button.active { background: var(--serp-primary, #2271b1); color: #fff; border-color: var(--serp-secondary, #135e96); }
.serp-idcards { display: flex; flex-wrap: wrap; gap: 14px; margin: 12px 0; }
.serp-idcard {
    width: 3.375in; height: 2.125in; border: 1px solid #c3c4c7; border-radius: 10px;
    overflow: hidden; display: flex; flex-direction: column; background: #fff no-repeat center/cover;
    font-family: Arial, sans-serif; page-break-inside: avoid; position: relative;
}
.serp-idcard-portrait { width: 2.125in; height: 3.375in; }
.serp-idcards.mode-landscape .serp-idcard-portrait { display: none; }
.serp-idcards.mode-portrait .serp-idcard-landscape { display: none; }
.serp-idcard-head { background: linear-gradient(135deg, var(--serp-primary, #2271b1), var(--serp-secondary, #135e96)); color: #fff; padding: 6px 10px; display: flex; align-items: center; gap: 8px; }
.serp-idcard-hasbg .serp-idcard-head { background: linear-gradient(135deg, rgba(var(--serp-primary-rgb, 34,113,177),.92), rgba(var(--serp-secondary-rgb, 19,94,150),.92)); }
.serp-idcard-logo-img { max-height: 22px; max-width: 60px; object-fit: contain; background: #fff; border-radius: 3px; padding: 1px 3px; }
.serp-idcard-logo { font-weight: 700; font-size: 9px; text-transform: uppercase; letter-spacing: .5px; max-width: 45%; line-height: 1.2; }
.serp-idcard-title { font-size: 8px; letter-spacing: 1px; text-align: right; flex: 1; }
.serp-idcard-title small { display: block; letter-spacing: 0; opacity: .85; }
.serp-idcard-body { display: flex; gap: 10px; padding: 8px 10px; flex: 1; }
.serp-idcard-portrait .serp-idcard-body { flex-direction: column; align-items: center; text-align: center; }
.serp-idcard-hasbg .serp-idcard-body { background: rgba(255,255,255,.85); }
.serp-idcard-photo img, .serp-idcard-photo .avatar { width: 64px; height: 64px; border-radius: 6px; object-fit: cover; border: 1px solid #ddd; }
.serp-idcard-info { font-size: 9px; line-height: 1.5; display: flex; flex-direction: column; }
.serp-idcard-info strong { font-size: 11px; }
.serp-idcard-foot { background: var(--serp-soft, #f0f6fb); font-size: 7px; text-align: center; padding: 3px; color: #50575e; }
.serp-idcard-hasbg .serp-idcard-foot { background: rgba(var(--serp-soft-rgb, 240,246,251),.9); }
@media print {
    body * { visibility: hidden; }
    .serp-idcards, .serp-idcards * { visibility: visible; }
    .serp-idcards { position: absolute; left: 0; top: 0; }
    .serp-print-btn, .serp-idcard-controls, .serp-filters, #adminmenumain, #wpadminbar { display: none !important; }
}

/* ---- Mark-entry lock banner ---- */
.serp-lock-banner { padding: 10px 14px; border-radius: 8px; font-weight: 600; }
.serp-lock-open { background: #d3f2d7; color: #1a7a2e; }
.serp-lock-locked { background: #fbdcdc; color: #a30d0d; }
.serp-lock-not_open, .serp-lock-closed { background: #fdeec8; color: #8a5a00; }

/* ---- Report Cards ---- */
.serp-rc { max-width: 720px; margin: 18px auto; border: 2px solid var(--serp-primary, #2271b1); border-radius: 12px; overflow: hidden; background: #fff; font-family: Georgia, serif; page-break-inside: avoid; }
.serp-rc-head { background: linear-gradient(135deg, var(--serp-primary, #2271b1), var(--serp-secondary, #135e96)); color: #fff; padding: 16px 22px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.serp-rc-logo { max-height: 48px; max-width: 90px; object-fit: contain; background: #fff; border-radius: 4px; padding: 3px 6px; }
.serp-rc-head h2 { margin: 0; font-size: 20px; color: #fff; }
.serp-rc-head p { margin: 2px 0 0; font-size: 12px; opacity: .9; }
.serp-rc-exam { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.4); padding: 8px 14px; border-radius: 8px; font-weight: 700; text-align: center; }
.serp-rc-student { display: flex; flex-wrap: wrap; gap: 6px 22px; padding: 10px 22px; background: var(--serp-soft, #f0f6fb); font-size: 13px; }
.serp-rc-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.serp-rc-table th, .serp-rc-table td { border: 1px solid #d5e0ea; padding: 6px 10px; text-align: left; }
.serp-rc-table thead th { background: #e8f0f8; }
.serp-rc-table tfoot th { background: var(--serp-soft, #f0f6fb); }
.serp-rc-summary { display: flex; gap: 14px; padding: 12px 22px; }
.serp-rc-summary div { flex: 1; text-align: center; border: 1px solid #d5e0ea; border-radius: 8px; padding: 8px; }
.serp-rc-summary span { display: block; font-size: 11px; color: #787c82; text-transform: uppercase; }
.serp-rc-summary strong { font-size: 18px; }
.serp-rc-remarks { margin: 10px 22px; padding: 10px 14px; background: #fdf6e3; border-left: 3px solid #d8a400; font-size: 13px; }
.serp-rc-sign { display: flex; justify-content: space-between; padding: 26px 30px 14px; font-size: 12px; color: #50575e; }
.serp-rc-sign span { border-top: 1px solid #999; padding-top: 4px; min-width: 120px; text-align: center; }
.serp-rc-sheet .serp-rc { margin: 14px auto; }
/* Student photo on the report card */
.serp-rc-idrow { display: flex; align-items: center; background: var(--serp-soft, #f0f6fb); }
.serp-rc-idrow .serp-rc-student { flex: 1; }
.serp-rc-photo { order: 2; flex-shrink: 0; width: 72px; height: 90px; object-fit: cover; border: 1px solid #9db4c8; background: #fff; margin: 8px 22px 8px 0; border-radius: 3px; }
.serp-rc-photo.empty { display: flex; align-items: center; justify-content: center; font-size: 11px; color: #999; border-style: dashed; }
@media print {
    body * { visibility: hidden; }
    .serp-rc, .serp-rc * { visibility: visible; }
    .serp-rc { position: relative; margin: 0 auto; }
    .serp-print-btn, .serp-filters, .button, #adminmenumain, #wpadminbar, .wrap > p, .wrap > table, .wrap > details, .wrap > h1, .wrap > form { display: none !important; }
    .serp-rc-sheet .serp-rc { page-break-after: always; }
    .serp-rc-remark-form, .serp-marklist-form { display: none !important; }
}

/* ---- Status badges (front-end portal use, mirrors admin.css) ---- */
.serp-badge { padding: 3px 9px; border-radius: 20px; font-size: 11px; text-transform: uppercase; background: #e2e4e7; color: #50575e; }
.serp-badge-completed, .serp-badge-paid, .serp-badge-active { background: #d3f2d7; color: #1a7a2e; }
.serp-badge-pending, .serp-badge-rejected, .serp-badge-overdue { background: #fbdcdc; color: #a30d0d; }

/* ---- Simple stat grid (client "Reports" tab) ---- */
.serp-stat-grid { display: flex; flex-wrap: wrap; gap: 14px; margin: 14px 0; }
.serp-stat { background: var(--serp-soft, #f0f6fb); border-radius: 8px; padding: 16px 20px; min-width: 150px; text-align: center; }
.serp-stat span { display: block; font-size: 24px; font-weight: 700; color: var(--serp-secondary, #135e96); margin-bottom: 4px; }

/* ---- Student / Teacher portal header photo (v2.4.0) ---- */
.serp-portal-head.has-photo { display: flex; align-items: center; gap: 16px; }
.serp-portal-head-text { min-width: 0; }
.serp-portal-head-photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: none; border: 3px solid rgba(255,255,255,.85); background: #fff; box-sizing: border-box; }
.serp-portal-head-photo.empty { display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 26px; color: var(--serp-primary, #2271b1); }
@media (max-width: 480px) { .serp-portal-head-photo { width: 56px; height: 56px; font-size: 20px; } }

/* ---- ID card photo crop / adjust (v2.4.0) ---- */
.serp-idcard-photo { position: relative; }
.serp-idcard-photo.serp-idphoto-adj { width: 64px; height: 64px; box-sizing: border-box; overflow: hidden; border-radius: 6px; flex: none; }
.serp-idcard-photo.serp-idphoto-adj img { width: 100%; height: 100%; border: 0; border-radius: 0; display: block; object-fit: cover; }
.serp-idcard-photo.serp-idphoto-adj::after { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 1px solid #ddd; border-radius: 6px; pointer-events: none; }
.serp-idphoto-btn { position: absolute; top: 2px; right: 2px; z-index: 2; width: 20px; height: 20px; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 50%; background: rgba(0,0,0,.65); color: #fff; font-size: 11px; line-height: 20px; text-align: center; cursor: pointer; box-shadow: none; }
@media (hover: hover) {
    .serp-idphoto-btn { opacity: 0; transition: opacity .15s; }
    .serp-idcard-photo:hover .serp-idphoto-btn, .serp-idphoto-btn:focus { opacity: 1; }
}
.serp-idcard-hint { font-size: 12px; color: #646970; }
.serp-idadj-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100000; background: rgba(0,0,0,.55); align-items: center; justify-content: center; padding: 12px; }
.serp-idadj-box { background: #fff; color: #1d2327; border-radius: 12px; padding: 16px 18px; width: 100%; max-width: 330px; max-height: 96vh; overflow: auto; box-shadow: 0 10px 40px rgba(0,0,0,.35); }
.serp-idadj-box h4 { margin: 0 0 10px; font-size: 16px; }
.serp-idadj-frame { width: 220px; height: 220px; max-width: 100%; margin: 0 auto; overflow: hidden; border-radius: 8px; border: 2px solid var(--serp-primary, #2271b1); background: #f0f0f1; touch-action: none; cursor: grab; }
.serp-idadj-frame img { width: 100%; height: 100%; object-fit: cover; display: block; user-select: none; -webkit-user-drag: none; pointer-events: none; }
.serp-idadj-tip { font-size: 12px; color: #646970; margin: 8px 0; text-align: center; }
.serp-idadj-row { display: flex; align-items: center; gap: 8px; margin: 6px 0; font-size: 13px; }
.serp-idadj-row span { width: 110px; flex: none; }
.serp-idadj-row input[type=range] { flex: 1; min-width: 0; }
.serp-idadj-msg { min-height: 18px; margin: 6px 0 0; font-size: 12px; color: #646970; }
.serp-idadj-msg.err { color: #b32d2e; }
.serp-idadj-btns { display: flex; gap: 8px; justify-content: flex-end; margin-top: 10px; }
@media print { .serp-idphoto-btn, .serp-idadj-overlay, .serp-idcard-hint { display: none !important; } }

/* ---- ID card design options, CR80 print / PDF toolbar (v2.5.0) ----
   Every design rule is gated by a class that is only present when that option is set,
   so cards with no saved design look exactly as before. */
.serp-idsep::before { content: " \00b7 "; }
.serp-idsheet.idh-class .serp-idf-roll::before,
.serp-idsheet.idh-class.idh-roll .serp-idf-house::before,
.serp-idsheet.idh-adm .serp-idf-dob::before,
.serp-idsheet.idh-desig .serp-idf-dept::before { content: ""; }

.serp-idsheet.idd-hsolid .serp-idcard-head { background: var(--serp-primary, #2271b1); }
.serp-idsheet.idd-hc .serp-idcard-head { background: linear-gradient(135deg, var(--idd-h1), var(--idd-h2)); }
.serp-idsheet.idd-ht .serp-idcard-head { color: var(--idd-ht); }
.serp-idsheet.idd-cbg .serp-idcard { background-color: var(--idd-cbg); }
.serp-idsheet.idd-tc .serp-idcard-info { color: var(--idd-tc); }
.serp-idsheet.idd-fs .serp-idcard-info { font-size: calc(9px * var(--idd-fs)); }
.serp-idsheet.idd-fs .serp-idcard-info strong { font-size: calc(11px * var(--idd-fs)); }
.serp-idsheet.idd-center .serp-idcard-info { text-align: center; align-items: center; }
.serp-idsheet.idd-upper .serp-idcard-info strong { text-transform: uppercase; }
.serp-idsheet.idd-cr .serp-idcard { border-radius: var(--idd-cr); }
.serp-idsheet.idd-cb .serp-idcard { border: var(--idd-cbw, 1px) solid var(--idd-cbc, #c3c4c7); }

.serp-idsheet.idd-pshape .serp-idcard-photo img,
.serp-idsheet.idd-pshape .serp-idcard-photo .avatar,
.serp-idsheet.idd-pshape .serp-idcard-photo.serp-idphoto-adj,
.serp-idsheet.idd-pshape .serp-idcard-photo.serp-idphoto-adj::after { border-radius: var(--idd-pr); }
.serp-idsheet.idd-pshape .serp-idcard-photo.serp-idphoto-adj img { border-radius: 0; }
.serp-idsheet.idd-psize .serp-idcard-photo img,
.serp-idsheet.idd-psize .serp-idcard-photo .avatar,
.serp-idsheet.idd-psize .serp-idcard-photo.serp-idphoto-adj { width: var(--idd-ps); height: var(--idd-ps); }
.serp-idsheet.idd-psize .serp-idcard-photo.serp-idphoto-adj img { width: 100%; height: 100%; }
.serp-idsheet.idd-pb .serp-idcard-photo:not(.serp-idphoto-adj) img,
.serp-idsheet.idd-pb .serp-idcard-photo:not(.serp-idphoto-adj) .avatar { border-style: solid; border-color: var(--idd-pbc, #ddd); border-width: var(--idd-pbw, 1px); }
.serp-idsheet.idd-pb .serp-idcard-photo.serp-idphoto-adj::after { border-color: var(--idd-pbc, #ddd); border-width: var(--idd-pbw, 1px); }

/* show / hide */
.serp-idsheet.idh-logo .serp-idcard-logo-img, .serp-idsheet.idh-logo .serp-idcard-logo { display: none; }
.serp-idsheet.idh-title .serp-idcard-title { display: none; }
.serp-idsheet.idh-year .serp-idcard-title small { display: none; }
.serp-idsheet.idh-logo.idh-title .serp-idcard-head { display: none; }
.serp-idsheet.idh-foot .serp-idcard-foot { display: none; }
.serp-idsheet.idh-parent .serp-idf-parent, .serp-idsheet.idh-class .serp-idf-class, .serp-idsheet.idh-roll .serp-idf-roll,
.serp-idsheet.idh-house .serp-idf-house, .serp-idsheet.idh-adm .serp-idf-adm, .serp-idsheet.idh-dob .serp-idf-dob,
.serp-idsheet.idh-address .serp-idf-address, .serp-idsheet.idh-contact .serp-idf-contact,
.serp-idsheet.idh-desig .serp-idf-desig, .serp-idsheet.idh-dept .serp-idf-dept, .serp-idsheet.idh-empno .serp-idf-empno,
.serp-idsheet.idh-phone .serp-idf-phone, .serp-idsheet.idh-email .serp-idf-email { display: none; }
.serp-idsheet.idh-class.idh-roll.idh-house .serp-idl-classline,
.serp-idsheet.idh-adm.idh-dob .serp-idl-admline,
.serp-idsheet.idh-desig.idh-dept .serp-idl-desig { display: none; }

/* signature block */
.serp-idcard-sign { position: absolute; right: 8px; bottom: 19px; text-align: center; line-height: 1; z-index: 1; }
.serp-idcard-sign img { display: block; max-height: 20px; max-width: 60px; margin: 0 auto 1px; }
.serp-idcard-sign small { display: block; font-size: 6px; border-top: 1px solid #888; padding-top: 1px; color: #444; }
.serp-idcard-portrait .serp-idcard-sign { right: 50%; transform: translateX(50%); }

/* per-card tick box (screen only) */
.serp-idsel { position: absolute; left: 3px; bottom: 1px; z-index: 3; margin: 0; line-height: 1; opacity: .45; }
.serp-idsel:hover { opacity: 1; }
.serp-idsel:has(input:checked) { opacity: 1; }
.serp-idsel input { margin: 0; width: 13px; height: 13px; }
.serp-idsheet.idd-single .serp-idsel, .serp-idsheet.idd-single .serp-idt-scope { display: none; }

/* square, full-bleed output (CR80 printing / PDF) */
.serp-idsq { border-radius: 0 !important; border: 0 !important; box-shadow: none !important; }
.serp-idcapture { display: block; margin: 0; gap: 0; }

/* print / PDF toolbar */
.serp-idtools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 6px 0 10px; padding: 8px 10px; background: #f6f7f7; border: 1px solid #dcdcde; border-radius: 8px; }
.serp-idtools select { max-width: 100%; }
.serp-idt-status { font-size: 12px; color: #646970; }
.serp-idt-status.err { color: #b32d2e; }

/* design panel */
.serp-idd-panel { margin: 6px 0 12px; border: 1px solid #dcdcde; border-radius: 8px; background: #fff; }
.serp-idd-panel > summary { cursor: pointer; padding: 9px 12px; font-weight: 600; }
.serp-idd-form { padding: 4px 12px 12px; }
.serp-idd-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 10px; }
.serp-idd-grid fieldset { border: 1px solid #e2e4e7; border-radius: 6px; padding: 6px 10px 8px; margin: 0; min-width: 0; }
.serp-idd-grid legend { font-weight: 600; font-size: 12px; padding: 0 4px; }
.serp-idd-f { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 5px 0; font-size: 12px; }
.serp-idd-f > span:first-child { flex: none; max-width: 48%; }
.serp-idd-f input[type=text], .serp-idd-f select { flex: 1; min-width: 0; font-size: 12px; }
.serp-idd-f input[type=file] { flex: 1; min-width: 0; font-size: 11px; }
.serp-idd-c { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; }
.serp-idd-c input[type=color] { width: 30px; height: 26px; padding: 0; border: 1px solid #c3c4c7; background: none; flex: none; }
.serp-idd-hex { width: 80px; flex: 1; }
.serp-idd-range { flex: 1; min-width: 0; }
.serp-idd-c output { width: 38px; text-align: right; font-size: 11px; color: #50575e; }
.serp-idd-chk { display: flex; justify-content: flex-start; gap: 6px; align-items: center; }
.serp-idd-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px 8px; font-size: 12px; }
.serp-idd-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 10px; }
.serp-idd-msg { font-size: 12px; color: #646970; }
.serp-idd-msg.err { color: #b32d2e; }
.serp-idd-note { margin: 8px 0 0; font-size: 11px; color: #646970; }

@media print { .serp-idtools, .serp-idd-panel, .serp-idsel { display: none !important; } }
