:root{--ink:#173d3c;--muted:#667673;--paper:#f6f7f3;--green:#245e52;--sand:#e4bd7c}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,"Microsoft JhengHei",sans-serif;background:var(--paper)}.auth-layout{min-height:100vh;display:grid;grid-template-columns:46% 54%}.brand-panel{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:48px 12%;display:flex;flex-direction:column}.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:650;letter-spacing:.2px;font-size:20px;position:relative;z-index:1}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border:1px solid currentColor;border-radius:12px;font-family:Georgia,serif;font-size:24px}.brand-copy{position:relative;z-index:1;margin:auto 0}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:650;margin-bottom:20px}.brand-copy .eyebrow{color:var(--sand)}.brand-copy h1{font-size:clamp(28px,2.7vw,42px);line-height:1.65;font-weight:600;letter-spacing:1px;margin-bottom:24px}.brand-copy>p:last-child{color:#b8ceca;font-size:15px;line-height:1.8}.brand-footer{font-size:12px;color:#b8ceca;z-index:1;margin:0;letter-spacing:1px}.orbit{position:absolute;border:1px solid #ffffff14;border-radius:50%;width:500px;height:500px;right:-260px;bottom:-110px}.orbit-two{width:350px;height:350px;right:-185px;bottom:-35px}.form-panel{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:64px 14% 28px}.login-card{width:100%;max-width:400px;margin:auto}.login-card .eyebrow{color:var(--green);margin-bottom:12px}.login-card h2{font-size:29px;font-weight:650;line-height:1.5}.subtext{color:var(--muted);margin:12px 0 36px}.form-label{font-size:14px;font-weight:600;margin-bottom:10px}.form-control{padding:14px 16px;border-color:#d5ded8;border-radius:8px;background:#fff;color:var(--ink)}.form-control:focus{border-color:var(--green);box-shadow:0 0 0 3px #245e5220}.btn{padding:13px 20px;border-radius:8px;font-weight:600}.btn-primary{background:var(--green);border-color:var(--green)}.btn-primary:hover,.btn-primary:focus-visible{background:#19483d;border-color:#19483d}.btn:focus-visible,a:focus-visible{outline:3px solid #ad762d;outline-offset:3px}.account-note{font-size:13px;line-height:1.8;color:var(--muted);text-align:center;margin:25px 0}.security-note{display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid #e1e5df;padding-top:24px;font-size:12px;color:var(--muted)}.security-note span{color:#4e8978;font-size:9px}.form-panel footer{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:12px;padding-top:40px}.alert{font-size:14px}.account-header{padding:28px max(6%,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e5dc;background:#fff}.account-content{max-width:850px;padding:80px 24px;margin:auto}.account-content h1{font-size:36px;line-height:1.6;overflow-wrap:anywhere}.identity-card{border:1px solid #dce5db;border-radius:16px;padding:36px;display:flex;gap:28px;align-items:center;background:#fff}.identity-icon{flex-shrink:0;display:grid;place-items:center;background:#eaf2ec;color:var(--green);border-radius:24px;width:84px;height:84px;font-size:30px}.identity-card h2{font-size:23px;overflow-wrap:anywhere}.identity-card p{margin-bottom:8px;overflow-wrap:anywhere}.identity-card .status-pill{display:inline-block;background:#edf4ee;color:var(--green);font-size:12px;border-radius:20px;padding:5px 12px;margin-bottom:16px}.timezone,.account-hint{font-size:13px;color:var(--muted)}.account-hint{margin-top:24px}.error-card{max-width:700px;margin:12vh auto;padding:24px}.error-card h1{font-size:28px;line-height:1.7}.error-card p{overflow-wrap:anywhere;color:var(--muted);font-size:13px}@media(max-width:820px){.auth-layout{grid-template-columns:1fr}.brand-panel{padding:28px 24px;min-height:240px}.brand-copy{margin:35px 0 0}.brand-copy h1{font-size:26px;line-height:1.5;margin-bottom:12px}.brand-copy .eyebrow,.brand-footer{display:none}.brand-copy>p:last-child{margin:0}.form-panel{padding:40px 24px 24px}.login-card h2{font-size:26px}.form-panel footer{max-width:400px;width:100%;margin:auto}.account-content{padding-top:42px}.account-content h1{font-size:29px}.identity-card{padding:24px;gap:18px;align-items:flex-start}.identity-icon{width:58px;height:58px;border-radius:18px;font-size:24px}.account-header .brand{font-size:16px}.account-header .btn{padding:9px 16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.access-panel{background:#fff;border:1px solid #dce5db;border-radius:16px;padding:32px;overflow-wrap:anywhere}.access-list{padding-left:22px;margin:20px 0 0}.access-list li{padding:8px 0}.access-panel .form-select{padding:14px 16px;border-color:#d5ded8}@media(max-width:820px){.access-panel{padding:24px}}

/* 共用 RWD 導覽：所有功能頁以可讀、可觸控且不水平溢出的網格呈現。 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}
.account-header>*{min-width:0}
.account-header .brand{overflow-wrap:anywhere}
.responsive-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;width:100%}
.responsive-nav .btn{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:12px 14px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.identity-card>div:last-child{min-width:0}
@media(max-width:575.98px){
  .account-header{padding:16px;gap:16px}
  .account-header .brand{gap:8px;font-size:16px}
  .account-header .brand-mark{width:34px;height:34px;border-radius:10px;font-size:21px}
  .account-header form{flex:0 0 auto;margin:0}
  .account-header .btn{min-height:44px;padding:9px 14px}
  .account-content{width:100%;padding:32px 16px 40px}
  .account-content h1{font-size:clamp(25px,7.5vw,30px);line-height:1.45}
  .subtext{margin:10px 0 24px}
  .identity-card{padding:20px;gap:16px;border-radius:14px}
  .identity-card h2{font-size:20px;line-height:1.4}
  .identity-card p{font-size:15px}
  .responsive-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .responsive-nav .btn{font-size:16px;min-height:50px;padding:11px 8px}
  .access-panel{padding:20px}
  .form-control,.form-select{font-size:16px}
}
@media(max-width:339.98px){
  .account-header .brand{font-size:15px}
  .responsive-nav{grid-template-columns:1fr}
}

/* 網站無障礙規範 115.11／WCAG 2.2 AA 共用基線。 */
:root{--muted:#4f605d;--focus:#9b5f00;color-scheme:light}
.btn-outline-secondary{color:#495057;border-color:#5b636a}
.btn-outline-secondary:hover,.btn-outline-secondary:focus-visible{color:#fff;background:#495057;border-color:#495057}
.text-secondary{color:var(--muted)!important}
html{scroll-padding-top:1rem}
.skip-link{position:fixed;z-index:10000;top:.5rem;left:.5rem;max-width:calc(100% - 1rem);padding:.75rem 1rem;border:3px solid var(--focus);border-radius:.5rem;background:#fff;color:var(--ink);font-weight:700;transform:translateY(-160%)}
.skip-link:focus{transform:none}
#main-content{scroll-margin-top:1rem}
a:not(.btn){text-decoration-thickness:.1em;text-underline-offset:.18em}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--focus)!important;outline-offset:3px!important;box-shadow:none!important}
.form-control,.form-select,.btn{min-height:44px}
.form-check-input,input[type="checkbox"],input[type="radio"]{min-width:24px;min-height:24px}
.alert a{color:inherit;font-weight:700}
[aria-current="page"]{border-width:2px;box-shadow:inset 0 -4px 0 currentColor}
caption{color:var(--ink)}
.accessibility-footer{max-width:850px;margin:0 auto;padding:1rem 24px 2rem;font-size:.875rem;color:var(--muted)}
.accessibility-footer a{color:var(--ink)}
@media(max-width:320px){body{overflow-wrap:anywhere}.account-content{padding-left:12px;padding-right:12px}}
@media(forced-colors:active){.skip-link,.btn,.form-control,.form-select,.access-panel,.identity-card{border:1px solid CanvasText}.skip-link{background:Canvas;color:CanvasText}[aria-current="page"]{outline:2px solid CanvasText}}
