/* Shenzhen payslip calculator: only what site.css and the interior theme do not provide.
   The calculator itself uses the shared .calc, .calc-head, .calc-year, .calc-out and .calc-table rules. */
.ps-calc fieldset.ps-group{border:0;margin:0;padding:0;min-width:0}
.ps-calc fieldset.ps-group~fieldset.ps-group{border-top:1px dotted #071b3826;margin-top:16px;padding-top:14px}
.ps-calc .ps-legend{color:#0c1539;font-size:13px;font-weight:800;letter-spacing:.02em;margin:0 0 10px;padding:0}
.ps-calc .calc-head{align-items:flex-start}
.ps-calc .ps-field{display:flex;flex-direction:column;gap:5px;flex:1 1 210px;min-width:0;max-width:100%}
.ps-calc .ps-field[hidden],.ps-calc .calc-head[hidden]{display:none}
.ps-calc .ps-field .calc-year{width:100%}
.ps-calc .ps-field input:not([type=checkbox]),.ps-calc .ps-field select{width:100%;max-width:100%}
/* Controls do not take the label's letter spacing, so option text fits the closed select. */
.ps-calc .ps-field input,.ps-calc .ps-field select{letter-spacing:normal}
.ps-calc .ps-field-check{justify-content:center;padding-top:14px}
/* site.css removes the native checkbox (appearance:none): restore it so ticked and unticked look different. */
.ps-calc .calc-check input[type=checkbox]{-webkit-appearance:checkbox;appearance:auto;flex:none;width:20px;height:20px;min-width:20px;margin:0;padding:0;accent-color:#0064d0}
.ps-calc .ps-field-check .calc-check{min-height:44px}
.ps-calc .ps-hint{display:block;color:#4b607c;font-size:12.5px;line-height:1.45}
.ps-calc .ps-hint a{color:#0064d0;text-decoration:underline}
.ps-calc .ps-examples{display:block;color:#0c1539;margin-bottom:2px}
.ps-calc .ps-msg{display:block;color:#7a1414;background:#fdecec;border-left:3px solid #b42318;font-size:13px;font-weight:700;line-height:1.45;padding:6px 9px}
.ps-calc .ps-msg[hidden]{display:none}
.ps-calc .ps-msg::before{content:"! "}
.ps-calc [aria-invalid=true]{border-color:#b42318;box-shadow:inset 0 0 0 1px #b42318}
.ps-calc input:disabled,.ps-calc select:disabled{background:#eef2f7;color:#4b607c}
/* break-word, not anywhere: a table column is never squeezed to one character, and amounts stay whole. */
.ps-calc .ps-out{overflow-wrap:break-word}
.ps-calc .ps-amt{white-space:nowrap;overflow-wrap:normal}
.ps-calc .ps-out[hidden]{display:none}
.ps-calc .ps-jump[hidden]{display:none}
.ps-calc .ps-sub{display:block;font-size:12.5px;line-height:1.45;margin-top:3px}
.ps-calc .ps-sub a{text-decoration:underline}
.ps-calc .ps-out .calc-table th{padding-right:10px;vertical-align:top}
.ps-calc .ps-out .calc-table td{padding-left:8px;vertical-align:top}
.ps-calc .ps-out .calc-table td.ps-num{white-space:nowrap}
.ps-calc .ps-out .calc-table tr.ps-line>*{border-bottom:0;padding-bottom:2px}
.ps-calc .ps-out .calc-table tr.ps-srcrow td{text-align:left;padding:0 0 8px}
.ps-calc .ps-out .ps-total>*{font-weight:800}
.ps-calc .ps-out .ps-current>*{font-weight:800}
.ps-calc .ps-out details{margin-top:16px}
.ps-calc .ps-out summary{cursor:pointer;font-weight:700;color:#0c1539}
.ps-scroll{overflow-x:auto;max-width:100%;margin:10px 0 18px}
.ps-scroll:focus-visible{outline:2px solid #0064d0;outline-offset:2px}
.ps-table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.45}
.ps-table th,.ps-table td{text-align:left;vertical-align:top;padding:8px 12px 8px 0;border-bottom:1px solid #d6e1ee;color:#344d6a}
.ps-table thead th{color:#0c1539;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ps-table tbody th{color:#0c1539;font-weight:700}
.ps-details{margin:6px 0 14px}
.ps-details summary{cursor:pointer;color:#0064d0;font-weight:700}
.ps-sources li{overflow-wrap:anywhere}
.ps-src-zh,.ps-src-meta{display:block;font-size:13.5px;line-height:1.5;color:#4b607c}
.article-body .ps-footnote{font-size:14px}
.ps-cite{font-size:13px;line-height:1.5;color:#4b607c}
.ps-cite a{text-decoration:underline}
.ps-calc .ps-fieldcite{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:#4b607c}
.ps-calc .ps-fieldcite .ps-cite{font-size:inherit}
.ps-since{display:block;font-size:12.5px;color:#4b607c;margin-top:2px}
.ps-table-cite{margin:0 0 12px}
.article-body .ps-list-cite{margin-top:-6px}
.ps-table .ps-rowcite{display:block;font-weight:400;margin-top:4px}
.ps-table .ps-rowcite .ps-since{font-size:12.5px}
/* The interior theme sets every p and li in .article-body to 16px (main.site-magazine-page:not(...) :is(.article-body,...)
   :is(p,li), specificity 0,3,2) and loads after this file, so these rules carry one more class. */
main.site-magazine-page .article-body .ps-calc p.ps-fieldcite{font-size:12.5px;line-height:1.5}
main.site-magazine-page .article-body p.ps-footnote.ps-footnote{font-size:14px;line-height:1.6}
main.site-magazine-page .article-body .ps-calc p.calc-big{font-size:28px;font-weight:800;line-height:1.2}
main.site-magazine-page .article-body .ps-calc p.calc-big span{font-weight:400}
main.site-magazine-page .article-body .ps-calc p.ps-jump{margin:14px 0 0;font-size:15px;font-weight:700;line-height:1.5}
.ps-calc .ps-jump a{color:#0064d0;text-decoration:underline}
@media (max-width:560px){.ps-calc .ps-field{flex-basis:100%}.ps-calc .ps-field-check{padding-top:0}.ps-table{font-size:14px}}
