*{box-sizing:border-box}body{margin:0;background:#f4f7f9;color:#182e3a;font:16px/1.65 Arial,'Microsoft JhengHei',sans-serif}main{max-width:1280px;margin:24px auto;padding:0 24px 48px}h1{font-size:28px;margin-bottom:4px}h2{font-size:22px}h3{font-size:18px}a{color:#126b66}nav,.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}nav a{padding:6px 0}nav{border-bottom:1px solid #ccd9df;padding:12px 0}.panel{background:white;border:1px solid #dce5e9;border-radius:12px;padding:24px;margin:18px 0}.muted{color:#526772;font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(245px,100%),1fr));gap:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cards .panel{margin-bottom:0}.metric{font-size:30px;font-weight:bold;display:block}label{display:block;margin:8px 0}input,textarea,select{font:inherit;max-width:100%;padding:9px;border:1px solid #a6bbc5;border-radius:6px;background:#fff;color:#182e3a}input:not([type=checkbox]),textarea,select{width:100%}input[type=checkbox]{width:19px;height:19px;vertical-align:middle}textarea{min-height:120px}button,.button{display:inline-block;padding:10px 16px;background:#126b66;color:white;border:0;border-radius:7px;font:inherit;cursor:pointer;text-decoration:none}button:disabled{opacity:.65;cursor:wait}.secondary{background:#e9f0f4;color:#234351}table{width:100%;border-collapse:collapse}td,th{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid #dce5e9;overflow-wrap:anywhere}.scroll{overflow:auto}.preserve{white-space:pre-wrap;overflow-wrap:anywhere}.badge{background:#e9f4ef;padding:3px 8px;border-radius:4px}.danger{color:#9d3429;background:#fff0eb}.error{border-left:4px solid #b24030;background:#fff0eb;padding:16px;white-space:pre-wrap}.context{background:#eaf3f5;border-left:4px solid #126b66;padding:14px 18px;margin-top:18px}pre{white-space:pre-wrap;font:inherit;overflow-wrap:anywhere}details{margin:18px 0}summary{cursor:pointer;padding:8px 0;font-weight:bold}:focus-visible{outline:3px solid #ac6914;outline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:24px;top:4px;background:white;z-index:2}.required{color:#963426;font-size:14px}.status-message{margin:12px 0;color:#245e58}.status-message:empty{display:none}@media(max-width:650px){main{padding:0 12px 28px;margin-top:14px}.panel{padding:16px}.cards{gap:8px}.cards .panel{padding:12px}.metric{font-size:24px}h1{font-size:24px}td,th{padding:8px}nav{gap:10px}button,.button{min-height:44px}.scroll table{min-width:560px}}

/* Keep real long-source differences readable without squeezing identity or decisions. */
article[id^="candidate-"] table{table-layout:fixed;min-width:760px}
article[id^="candidate-"] th:nth-child(1){width:12%}
article[id^="candidate-"] th:nth-child(2){width:25%}
article[id^="candidate-"] th:nth-child(3){width:43%}
article[id^="candidate-"] th:nth-child(4){width:20%}
article[id^="candidate-"] td{word-break:normal;overflow-wrap:anywhere}
.records-cards{display:none}
@media(max-width:650px){.records-table{display:none}.records-cards{display:grid;gap:12px}.record-card{background:#fff;border:1px solid #dce5e9;border-radius:10px;padding:14px;min-width:0}.record-card h3{margin:0 0 10px;font-size:18px;overflow-wrap:anywhere}.record-card dl{margin:0;display:grid;grid-template-columns:minmax(5.5em,30%) minmax(0,1fr);gap:6px 10px}.record-card dt{color:#526772;font-size:14px}.record-card dd{margin:0;overflow-wrap:anywhere;word-break:break-word}.record-card .muted{margin-bottom:0;overflow-wrap:anywhere}}
.admin-result{padding:14px 16px;background:#e6f5ee;border-left:4px solid #126b66;border-radius:6px;overflow-wrap:anywhere}

/* v1 multilingual background-job cards: desktop keeps compact rows, mobile becomes one readable card. */
.language-switcher{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.4rem 0 1rem}
.language-switcher a[aria-current="true"]{font-weight:700;text-decoration:underline}
.record-card{display:block;min-width:0;overflow-wrap:anywhere;margin:.75rem 0;padding:1rem;border:1px solid #d5dbe3;border-radius:.6rem;background:#fff}
@media (max-width:650px){nav{gap:.5rem}.record-card{width:100%;box-sizing:border-box}.record-card .button{display:block;text-align:center}}
nav{white-space:normal;overflow-wrap:anywhere}nav a,nav span{max-width:100%;overflow-wrap:anywhere}

/* Mobile navigation has the same touch area as form buttons. Narrow dashboard
   metrics use full rows so their labels are not squeezed into 88px columns. */
@media(max-width:768px){
  nav a,.actions>a{min-height:44px;display:inline-flex;align-items:center}
  input:not([type=hidden]):not([type=checkbox]),select,textarea{min-height:44px}
  button,.button{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:420px){
  .cards{grid-template-columns:minmax(0,1fr);gap:8px}
  .cards .panel{margin:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .cards .metric{flex-shrink:0}
}

/* CRM consistent navigation and controls; preserves all existing form contracts. */
.crm-workspace .crm-primary-nav{gap:6px;padding:8px;background:#fff;border:1px solid #dce5e9;border-radius:10px}
.crm-workspace .crm-primary-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;box-sizing:border-box;border-radius:7px;text-decoration:none}
.crm-workspace .crm-primary-nav a[aria-current="page"]{background:#126b66;color:#fff;font-weight:700}
.crm-workspace .crm-primary-nav a:hover:not([aria-current="page"]){background:#e6f5ee}
.crm-workspace button,.crm-workspace .button{min-height:44px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.crm-workspace button:disabled,.crm-workspace .button[aria-disabled="true"]{opacity:.6;cursor:not-allowed}
.crm-workspace :focus-visible{outline:3px solid #ac6914;outline-offset:3px}
.crm-workspace input:not([type="hidden"]):not([type="checkbox"]),.crm-workspace select{min-height:44px;box-sizing:border-box}
.crm-workspace form,.crm-workspace label,.crm-workspace .grid>*{min-width:0}
.crm-workspace .crm-search-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.crm-workspace .crm-search-form label{flex:1 1 240px}
.crm-workspace .crm-search-form button{margin:0 0 8px}
@media(max-width:650px){.crm-workspace .crm-primary-nav{display:flex;flex-wrap:wrap}.crm-workspace .crm-primary-nav a{flex:1 1 auto}.crm-workspace .crm-search-form{display:block}.crm-workspace .crm-search-form button{width:100%}.crm-workspace .actions{display:flex;flex-wrap:wrap;gap:8px}.crm-workspace h1,.crm-workspace h2{overflow-wrap:anywhere}}

/* Login and CRM content polish. Geometry and form behavior stay with existing rules. */
body.login-page{background:linear-gradient(145deg,#edf8f5 0%,#f7f9fc 48%,#f1effb 100%);color:#243649;font-family:system-ui,'Microsoft JhengHei',sans-serif}
body.login-page>main{padding-top:32px;padding-bottom:40px}
.login-page main h1{font-size:32px;line-height:1.3;letter-spacing:-.025em;color:#173d3c;margin:26px 0 12px}
.login-page .login-intro{color:#5a6c7d;line-height:1.7}
.login-page main>.panel,.crm-workspace main .panel,.crm-workspace main .record-card{background:#fff;border:1px solid #dce5ec;border-radius:16px;box-shadow:0 4px 18px #23435108}
.login-page main>.panel{padding:28px;box-shadow:0 10px 32px #2343510c}
.login-page main>details{border:1px solid #dce5ec;border-radius:12px;background:#ffffffb3;padding:4px 16px}
.login-page main>details>summary{color:#344b64;font-size:15px}
.login-page main>.language-switcher,.crm-workspace main>.language-switcher{border-bottom:0;color:#607080;font-size:13px;gap:6px}
.login-page .language-switcher a,.crm-workspace main>.language-switcher a{border-radius:8px;padding:7px 10px;text-decoration:none;color:#466072}
.login-page .language-switcher a[aria-current="true"],.crm-workspace main>.language-switcher a[aria-current="true"]{background:#e0f2ed;color:#12665e;font-weight:700;text-decoration:none}
.crm-workspace main h1{color:#173d3c;letter-spacing:-.025em;line-height:1.35}
.crm-workspace main h2{color:#253b50;font-size:21px;line-height:1.4}
.crm-workspace main .metric{color:#0f766e;letter-spacing:-.035em}
.crm-workspace main .cards>.panel:nth-child(2){background:#f7f5ff;border-color:#e3ddf2}
.crm-workspace main .cards>.panel:nth-child(3){background:#f3f8ff;border-color:#dce7f4}
.login-page main label,.crm-workspace main label{color:#344b5d;font-size:15px;font-weight:500}
.login-page main input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.crm-workspace main input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.crm-workspace main select,.crm-workspace main textarea{border:1px solid #bdcdd8;border-radius:9px;background:#fff;color:#243649;padding:11px 12px;min-height:44px;font-weight:400}
.login-page main input::placeholder,.crm-workspace main input::placeholder,.crm-workspace main textarea::placeholder{color:#64778a;opacity:1}
.login-page main button,.crm-workspace main button,.crm-workspace main .button{border-radius:9px;background:#0f766e;color:#fff;font-weight:600;min-height:44px;box-shadow:0 2px 4px #0f766e12}
.login-page main button:hover:enabled,.crm-workspace main button:hover:enabled,.crm-workspace main .button:hover:not([aria-disabled="true"]){background:#0b655e}
.crm-workspace main button.secondary,.crm-workspace main .button.secondary{background:#edf3f8;color:#344e65;box-shadow:inset 0 0 0 1px #dce5ec}
.crm-workspace main button.secondary:hover:enabled,.crm-workspace main .button.secondary:hover:not([aria-disabled="true"]){background:#e1ebf3}
.crm-workspace main button.danger,.crm-workspace main .button.danger{background:#fff0ed;color:#9d3429;box-shadow:inset 0 0 0 1px #edc9c0}
.crm-workspace main button.danger:hover:enabled,.crm-workspace main .button.danger:hover:not([aria-disabled="true"]){background:#ffe1da}
.login-page main button:disabled,.crm-workspace main button:disabled,.crm-workspace main .button[aria-disabled="true"]{opacity:.55;cursor:not-allowed;box-shadow:none}
.login-page main input:disabled,.crm-workspace main input:disabled,.crm-workspace main select:disabled,.crm-workspace main textarea:disabled,.crm-workspace main input[readonly],.crm-workspace main textarea[readonly]{background:#f0f3f6;color:#5c6d7d;border-color:#d2dce4}
.login-page main :focus-visible,.crm-workspace main :focus-visible{outline:3px solid #a4660d;outline-offset:3px}
.login-page main input[aria-invalid="true"],.crm-workspace main input[aria-invalid="true"],.crm-workspace main select[aria-invalid="true"],.crm-workspace main textarea[aria-invalid="true"]{border-color:#b24030;background:#fff9f7}
.crm-workspace main .context{background:#edf5ff;border-left-color:#577dab;border-radius:0 10px 10px 0;color:#344e65}
.login-page main .error,.crm-workspace main .error{background:#fff0eb;color:#913f30;border-left:4px solid #b24030;border-radius:0 10px 10px 0}
.crm-workspace main th{background:#f5f8fb;color:#4c6275;font-size:13px;font-weight:600}
.crm-workspace main .badge{background:#e4f4ee;color:#1d6c58;border-radius:6px}
@media(max-width:650px){
 body.login-page>main{padding-top:16px;padding-bottom:24px}
 .login-page main h1{font-size:28px;margin-top:18px}
 .login-page main>.panel{padding:20px}
 .crm-workspace main .panel{border-radius:12px}
 .login-page .language-switcher a,.crm-workspace main>.language-switcher a{min-height:44px}
}
