@font-face{font-family:THSarabunPSK;src:url('fonts/THSarabunPSK-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:THSarabunPSK;src:url('fonts/THSarabunPSK-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--forest:#145d44;--mint:#e8f3ec;--bs-body-font-family:THSarabunPSK,sans-serif;--bs-body-font-size:1.35rem;--bs-body-color:#233c32;--bs-border-color:#dbe5df}body{background:#f4f7f5}h1,h2,h3,h4,h5,b,strong{font-weight:700}h1{font-size:2.7rem}h2{font-size:2rem}h3{font-size:1.65rem}a{color:var(--forest)}.topbar{background:white;border-bottom:1px solid #dbe5df;padding:20px 0}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-weight:700;font-size:1.65rem;line-height:1.1}.brand small{font:9px system-ui;display:block;letter-spacing:1.5px;margin-top:9px;color:#648075}.brand-mark{display:grid;place-items:center;background:var(--forest);color:#fff;border-radius:50%;width:60px;height:60px;flex-shrink:0;font-size:1.45rem;border:4px double #d6bd70}.hero{background:var(--forest);color:white;border-radius:20px;padding:42px;margin:12px 0 30px;position:relative;overflow:hidden}.hero p{color:#d6eadd;max-width:670px}.eyebrow{font:11px system-ui;letter-spacing:2px;text-transform:uppercase}.hero .eyebrow{color:#ccdab6}.hero-stat{border-left:1px solid #68967e;padding-left:28px}.hero-stat b{display:block;font-size:3.5rem;line-height:1}.card{border:1px solid #e0e8e2;border-radius:16px;box-shadow:0 4px 20px #173d2505}.region-card{height:100%;border-top:5px solid var(--region);transition:transform .2s}.region-card:hover{transform:translateY(-3px)}.region-number{font:700 13px system-ui;color:var(--region);padding:8px 12px;background:#f1f5f2;border-radius:8px;display:inline-block}.region-card h3{font-size:1.9rem;margin-top:20px}.muted,.text-muted{color:#62796e!important}.countdown{font-size:1.3rem;font-weight:700;color:var(--forest);font-variant-numeric:tabular-nums}.status{display:inline-block;border-radius:8px;padding:2px 10px;font-size:1.15rem;background:#edf2ee;color:#50695b}.status.open{background:#e2f4e7;color:#196a3d}.status.done{background:#e7edf9;color:#355d97}.btn{font-size:1.25rem;border-radius:9px;font-weight:700;padding:6px 18px}.btn-primary{--bs-btn-bg:#145d44;--bs-btn-border-color:#145d44;--bs-btn-hover-bg:#0f4633;--bs-btn-hover-border-color:#0f4633;--bs-btn-active-bg:#0f4633}.btn-outline-primary{--bs-btn-color:#145d44;--bs-btn-border-color:#145d44;--bs-btn-hover-bg:#145d44;--bs-btn-hover-border-color:#145d44}.form-control,.form-select{font-size:1.3rem;border-radius:8px}.form-label{margin-bottom:3px;font-weight:700}label{display:block}textarea{min-height:90px}textarea.criteria-json{min-height:400px;font:14px monospace}.nav-pills{gap:8px;margin:20px 0}.nav-pills .nav-link{color:#526c5c;border-radius:8px}.nav-pills .nav-link.active{background:var(--forest)}.table{font-size:1.25rem}.table th{background:#eff4f0;color:#496354}.metric b{font-size:2.6rem;color:var(--forest);display:block;line-height:1.2}.metric{padding:20px}.section-card{padding:24px;margin-bottom:20px}.indicator{background:#fafcfb;border:1px solid #e0e8e2;border-radius:10px;padding:18px;margin-bottom:16px}.evidence{padding:10px 14px;background:#fff;border-left:3px solid #87ad95;margin:10px 0;overflow-wrap:anywhere}.help{font-size:1.15rem;color:#64776b}.alert{font-size:1.25rem;border-radius:10px}.login-wrap{max-width:510px;margin:22px auto}.login-wrap .card{padding:30px}.login-wrap h1{font-size:2.2rem}.progress{height:8px;background:#e4ece6}.progress-bar{background:#429668}.score-form{background:#eef4ef;padding:14px;border-radius:10px}.score-form label{font-size:1.15rem}#notice{position:fixed;right:20px;bottom:25px;max-width:520px;z-index:50;box-shadow:0 8px 30px #0002}#notice:empty{display:none}footer{border-top:1px solid #dbe5df;margin-top:32px;padding:22px 0;display:flex;justify-content:space-between;color:#6b7c71;font-size:1.1rem}.print-title{display:none}.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.inline-form>label{flex:1;min-width:130px}.small-code{font:12px monospace}.area-summary{cursor:pointer;font-size:1.65rem;font-weight:700}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.badge-count{background:#e7efe9;padding:2px 10px;border-radius:20px}.empty{text-align:center;padding:35px;color:#6e8276}.criteria-item{padding:12px;border:1px solid #ddd;border-radius:8px;margin:10px 0}.account-name{font-size:1.1rem;margin-right:10px}.region-select{max-width:230px}.table-responsive{border-radius:10px}button:disabled{cursor:not-allowed}@media(max-width:767px){.hero{padding:25px}.hero-stat{border:0;padding:0;margin-top:20px}h1{font-size:2.1rem}.brand{font-size:1.2rem}.brand small{font-size:7px}.brand-mark{width:45px;height:45px;font-size:1.1rem}.topbar{padding:14px 0}.section-card{padding:16px}footer{flex-direction:column;padding-left:12px}.account-name{display:none}}@media print{body{background:#fff;font-size:16pt}.topbar,#account,.nav-pills,.no-print,#notice,footer,.toolbar{display:none!important}.container{max-width:100%;padding:0}.card{box-shadow:none;border:0}.table{font-size:12pt}.print-title{display:block}.table-responsive{overflow:visible}.table th,.table td{padding:4px}tr{break-inside:avoid}@page{size:A4 landscape;margin:12mm}}
.region-1{--region:#32876b}.region-2{--region:#b68e45}.region-3{--region:#7c68a3}.region-4{--region:#448ba2}.hero .countdown{color:#145d44}
.brand-logo{width:58px;height:66px;object-fit:contain;flex-shrink:0;background:#fff;border-radius:10px;padding:3px}.upload-label{display:block;padding:20px;border:1px dashed #8aab9c;background:#f3f8f5;border-radius:12px}.evidence-description{white-space:pre-wrap}.evidence a{overflow-wrap:anywhere}.removed{opacity:.55;text-decoration:line-through}.upload-status{font-weight:700}.login-wrap .card{padding:26px}.region-card{height:100%}button:disabled{cursor:not-allowed}textarea{min-height:120px}@media(max-width:575px){.brand-logo{width:42px;height:50px}.brand small{font-size:11px}.brand{font-size:20px}.topbar .container{flex-wrap:wrap}.hero h1{font-size:38px}.evidence-form button{white-space:normal}footer{gap:12px;flex-wrap:wrap}}@media print{.brand-logo{width:48px;height:56px}thead{display:table-header-group}tr{break-inside:avoid}}

/* Green, white and yellow identity for the public landing page. */
:root{--sunshine:#f4ce46;--deep-green:#104c38}
.topbar{border-top:5px solid var(--forest);border-bottom:3px solid #f1d876;padding:18px 0;box-shadow:0 4px 24px #145d4408}
.brand{gap:20px;font-size:1.85rem}.brand-logo{width:88px;height:100px;padding:2px;background:transparent;border-radius:0}.brand small{font-size:10px;letter-spacing:1.3px}
.home-page{padding-top:30px!important;padding-bottom:24px;background:radial-gradient(ellipse at 95% 4%,#fff5c8 0,transparent 48%)}
.home-page .hero{padding:48px 44px;background:linear-gradient(120deg,#104c38,#197151);border:1px solid #287958;border-radius:26px;box-shadow:0 18px 40px #104c3815;margin-top:0}
.home-page .hero:before{content:"";position:absolute;width:350px;height:350px;right:-150px;top:-160px;border:48px solid #f4ce4618;border-radius:50%;pointer-events:none}
.home-page .hero h1{font-size:clamp(2.5rem,4.4vw,3.8rem);line-height:1.1;margin:20px 0}.home-page .hero p{font-size:1.45rem;color:#f2f9f4;line-height:1.5}
.home-page .hero .eyebrow{display:inline-block;font-family:THSarabunPSK,sans-serif;font-size:1.15rem;letter-spacing:.5px;color:#ffdf63;border:1px solid #f4ce4655;border-radius:30px;padding:7px 16px;background:#ffffff08}
.home-page .hero-stat{position:relative;text-align:right;border-left:1px solid #ffffff35;padding-left:24px}.home-page .hero-stat b{color:#ffe17a;font-size:2.8rem;margin:12px 0 4px}.home-page .hero-stat span{color:#eff8ef;font-size:1.15rem}.hero-logo{width:144px;height:164px;object-fit:contain;filter:drop-shadow(0 5px 10px #082f2840)}
.home-page .region-card{--region:#196b4a;background:#fff;border:1px solid #dbe8df;border-top:5px solid var(--forest);border-radius:20px;box-shadow:0 8px 24px #145d4409;transition:transform .2s,box-shadow .2s}
.home-page .region-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #145d4418}.home-page .region-card h3{color:#104c38}.home-page .region-number{background:#fff4be;color:#635010;border:1px solid #f1df99;border-radius:30px;font-size:11px;letter-spacing:1px}.home-page .region-card hr{border-color:#cfddd2;opacity:1}.home-page .region-card .btn{background:#145d44;color:#fff;border-color:#145d44;padding:10px 12px}.home-page .region-card .btn:hover{background:#f4ce46;color:#173f2c;border-color:#f4ce46}.home-page .status{background:#eef5ef;color:#315c44}.home-page .status.open{background:#fff2b4;color:#5c4a0a}.home-page .countdown{font-size:1.5rem;margin-top:10px}
.home-page>.section-card{background:#fffdf3;border:1px solid #eadfae;padding:28px;border-radius:20px;margin-top:32px!important}.home-page>.section-card h3{color:#104c38;margin-bottom:20px}.home-page>.section-card .row>div{border-left:3px solid #eac443;padding-left:20px}.home-page>.section-card b{color:#145d44;font-size:1.35rem}.home-page .help{color:#52694e}
@media(max-width:991px){.home-page .hero-stat{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;border-left:0;border-top:1px solid #ffffff35;padding:24px 0 0;margin-top:24px}.hero-logo{width:88px;height:100px}.home-page .hero-stat b{margin:0;white-space:nowrap}}
@media(max-width:575px){.brand-logo{width:68px;height:78px}.brand{gap:12px;font-size:23px}.brand small{font-size:8px;letter-spacing:.6px;line-height:1.5}.topbar{padding:12px 0}.home-page .hero{padding:28px 22px;border-radius:18px}.home-page .hero h1{font-size:2.7rem}.home-page .hero-stat{gap:12px;flex-wrap:wrap}.home-page .hero-stat span{max-width:130px}.home-page>.section-card .row{gap:18px}.home-page>.section-card{padding:22px}.home-page .region-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.home-page .region-card{transition:none}}

/* Emphasize active countdowns across the assessment pages. */
.countdown[data-deadline],.home-page .countdown[data-deadline],.hero .countdown[data-deadline]{
  padding:14px 12px;
  margin-bottom:10px;
  border:1px solid #e6c34d;
  border-top:4px solid #f4ce46;
  border-radius:14px;
  background:linear-gradient(135deg,#fff9dd,#fff0ac);
  box-shadow:0 5px 16px #63501014;
  color:#104c38;
  font-size:clamp(2rem,3vw,2.6rem);
  font-weight:700;
  line-height:1.2;
  text-align:center;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
@media(max-width:575px){
  .countdown[data-deadline],.home-page .countdown[data-deadline],.hero .countdown[data-deadline]{padding:12px 10px;font-size:2rem}
}
@media print{
  .countdown[data-deadline]{box-shadow:none;background:#fff;border-color:#777}
}

.countdown-title{font-size:1.15rem;line-height:1.2;margin-bottom:8px;color:#5c4a0a}
.countdown-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;max-width:420px;margin-inline:auto}
.countdown-unit{display:flex;flex-direction:column;align-items:center;min-width:0;padding:6px 2px 4px;border:1px solid #d8e5d8;border-radius:9px;background:#fffef7;box-shadow:0 2px 4px #104c380a}
.countdown-value{font-size:clamp(1.65rem,2.8vw,2.6rem);line-height:1;font-weight:700;color:#104c38;font-variant-numeric:tabular-nums;max-width:100%}
.countdown-label{font-size:1rem;line-height:1.2;font-weight:400;color:#52694e;margin-top:3px}
.countdown-unit:first-child{background:#145d44;border-color:#145d44}
.countdown-unit:first-child .countdown-value{color:#ffe17a}
.countdown-unit:first-child .countdown-label{color:#fff}
@media print{.countdown-unit,.countdown-unit:first-child{background:#fff;border-color:#777;box-shadow:none}.countdown-unit:first-child .countdown-value,.countdown-unit:first-child .countdown-label{color:#104c38}}

/* Fit the landing page into a desktop viewport while keeping content accessible. */
@media screen and (min-width:992px){
  body:has(.home-page){min-height:100dvh;display:flex;flex-direction:column}
  body:has(.home-page) .container{max-width:1600px;width:100%;padding-left:24px;padding-right:24px}
  body:has(.home-page) .topbar{padding:8px 0}
  body:has(.home-page) .brand-logo{width:48px;height:54px}
  body:has(.home-page) .brand{font-size:1.5rem;gap:12px}
  body:has(.home-page) .brand small{margin-top:4px;font-size:8px}
  .home-page{flex:1;padding-top:12px!important;padding-bottom:12px!important}
  .home-page .hero{padding:16px 24px;margin-bottom:12px;border-radius:18px}
  .home-page .hero .eyebrow{padding:2px 12px;font-size:1rem;margin-bottom:4px!important}
  .home-page .hero h1{font-size:2.35rem;line-height:1;margin:4px 0}
  .home-page .hero h1 br{display:none}
  .home-page .hero p{font-size:1.2rem;line-height:1.2;margin-top:6px!important;max-width:none}
  .home-page .hero p br{display:none}
  .home-page .hero-stat b{font-size:2.5rem;margin:0}
  .home-page>.d-flex{margin-bottom:8px!important}
  .home-page>.d-flex h2{font-size:1.7rem}
  .home-page>.d-flex .muted{font-size:1.15rem}
  .home-page>.row{--bs-gutter-x:16px;--bs-gutter-y:0}
  .home-page>.row>div{width:25%}
  .home-page .region-card{padding:14px!important;border-radius:14px}
  .home-page .region-number{padding:4px 10px;font-size:10px}
  .home-page .region-card h3{font-size:1.7rem;margin:8px 0 4px}
  .home-page .region-card p{margin-bottom:6px}
  .home-page .region-card .d-flex{margin-bottom:6px!important}
  .home-page .countdown[data-deadline]{font-size:2.2rem;padding:8px 6px;margin-bottom:4px}
  .home-page .region-card .help{font-size:1.05rem;margin-top:4px!important}
  .home-page .region-card hr{margin:8px 0}
  .home-page .region-card .btn{padding:5px 8px;margin-top:auto}
  .home-page>.section-card{padding:10px 18px;margin-top:12px!important;margin-bottom:0;border-radius:14px}
  .home-page>.section-card h3{font-size:1.4rem;margin-bottom:4px}
  .home-page>.section-card b{font-size:1.2rem}
  .home-page>.section-card .help{font-size:1.05rem;line-height:1.2}
  body:has(.home-page)>footer{margin-top:0;padding-top:6px;padding-bottom:6px;font-size:1rem}
}

.home-page .hero-stat{display:flex;justify-content:flex-end;align-items:center;border:0;padding:0 0 0 20px;margin:0}
.region-summary{width:100%;max-width:230px;padding:10px 16px;border:1px solid #f4ce4666;border-radius:16px;background:linear-gradient(135deg,#ffffff12,#ffffff05);box-shadow:0 5px 18px #082f281a;text-align:center}
.region-summary-total{display:flex;justify-content:center;align-items:baseline;gap:10px}
.home-page .region-summary-total b{font-size:4rem;line-height:.95;margin:0;color:#ffe17a}
.home-page .region-summary-total span{font-size:1.7rem;font-weight:700;color:#ffe17a;max-width:none}
.home-page .region-summary-caption{display:block;font-size:1.05rem;line-height:1.2;margin-top:4px;max-width:none;color:#eff8ef}
@media(max-width:991px){.home-page .hero-stat{align-items:flex-end;padding:0;margin-top:16px}.region-summary{max-width:230px}.home-page .region-summary-total b{font-size:3.2rem}}
