/* Approved 2026-10-14 design: official header, balanced green, ivory and gold. */
:root{--green:#0b5749;--green-dark:#093f37;--mint:#eef6f0;--pale:#f7f8f5;--ink:#183d36;--muted:#687873;--line:#e1e7e1;--gold:#c4a06a;--shadow:0 10px 30px rgba(23,63,50,.055)}
body{background:#f8f9f7;color:var(--ink)}
.government{background:#fff;border:0}
.government .head-inner{max-width:1440px;min-height:139px;grid-template-columns:minmax(0,1fr) minmax(150px,185px) minmax(0,1fr);gap:16px;align-items:center;padding:15px 30px}
.government .ministry{width:max-content;max-width:100%;display:flex!important;flex-direction:column!important;align-items:center!important;justify-self:start;text-align:center!important;gap:3px;line-height:1.7;overflow:visible}
.government .ministry b{font-size:.88rem;white-space:normal;width:100%;text-align:center;font-weight:800;line-height:1.65}
.government .ministry .code280{font-size:.95rem;width:100%;padding:0;text-align:center;font-weight:800;line-height:1.5;color:var(--green-dark);white-space:nowrap}
.government .ministry small{font-size:.73rem;width:100%;text-align:center;line-height:1.7;white-space:normal}
.government .moe-center{grid-column:2;justify-content:center}.government .moe-center img{width:160px;max-width:100%;height:auto}
.government .head-spacer{grid-column:3}
.ribbon{height:4px;background:linear-gradient(90deg,#c6a36c 0%,#c6a36c 45%,#247765 75%,#0d604f 100%)}
/* Shared branding and form consistency, without changing actions or print layout. */
.brand-icon{border-radius:14px;background:linear-gradient(145deg,#0e7561,#074237);box-shadow:inset 0 0 0 1px #fff3;border:1px solid #216d5b}
.brand-icon svg{width:29px;height:29px;stroke:white}
.brand strong{color:#0d5043}
.btn:focus-visible,.side-item:focus-visible{outline:3px solid #bb9857;outline-offset:3px}
.panel{border-color:#e2e8e1;box-shadow:0 9px 25px rgba(29,63,47,.045)}
.btn.primary{background:#0b5c4d;border-color:#0b5c4d}
.btn.primary:hover{background:#073f35}
@media(max-width:700px){
 .government .head-inner{min-height:110px;grid-template-columns:minmax(0,1fr) minmax(95px,124px) minmax(0,1fr);gap:8px;padding:11px 9px}
 .government .ministry b{font-size:.64rem}.government .ministry small{font-size:.54rem}.government .ministry .code280{font-size:.80rem}
 .government .moe-center img{width:115px}
}
@media(max-width:400px){
 .government .head-inner{grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);gap:5px}
 .government .ministry b{font-size:.56rem}.government .ministry small{font-size:.49rem}.government .ministry .code280{font-size:.75rem}
 .government .moe-center img{width:90px}
}
/* Approved dashboard layout */
.public-dashboard .wrap{max-width:1440px;padding:0 31px 48px}
.public-dashboard .top-nav{padding:22px 9px 21px;justify-content:space-between}
.public-dashboard .brand{flex-direction:row;gap:12px}
.public-dashboard .brand strong{font-size:1.3rem}
.public-dashboard .brand small{font-size:.78rem}
.public-dashboard .btn-shortcut{background:#f6f7f2;color:#17473e;border:1px solid #d9dfd2;border-radius:13px;padding:11px 17px}
.public-dashboard .btn-shortcut svg,.public-dashboard .hero-btn svg{width:19px;height:19px;flex:none}
.public-dashboard .layout-with-sidebar{display:grid;direction:rtl;grid-template-columns:284px minmax(0,1fr);gap:26px;align-items:start}
.public-dashboard .dashboard-sidebar{background:#fff;border:1px solid #e3e8e1;border-radius:19px;position:sticky;top:15px;overflow:hidden;padding:0 0 20px;box-shadow:0 12px 30px #1b423012;color:#184139}
.public-dashboard .side-title{margin:0 0 12px;padding:17px 23px 18px;background:linear-gradient(135deg,#0c6453,#0a443b);color:white;border:0;font-weight:800;font-size:1.25rem;line-height:1.8}
.public-dashboard .dashboard-sidebar nav{display:grid;gap:3px;padding:0 13px}
.public-dashboard .dashboard-sidebar .side-item{display:flex;gap:13px;align-items:center;padding:11px 15px;border:1px solid transparent;border-radius:12px;color:#234a44;background:transparent;font-size:.89rem;min-height:52px;font-weight:600}
.public-dashboard .dashboard-sidebar .side-item svg{stroke:#0d5146;width:20px;height:20px;flex:none}
.public-dashboard .dashboard-sidebar .side-item::before{content:'';order:3;width:7px;height:7px;background:#c5a36a;border-radius:50%;margin-inline-start:auto;flex:none}
.public-dashboard .dashboard-sidebar .side-item.current,.public-dashboard .dashboard-sidebar .side-item:hover{background:#f4f8f5;border-color:#e0e8e2;box-shadow:0 3px 14px #0a2c1710}
.public-dashboard .dashboard-sidebar .side-item.current{font-weight:800;color:#095541}
.public-dashboard .side-motif{height:48px;border-bottom:5px solid #c5a36a;margin:14px 15px -21px;border-radius:0 0 5px 5px;background:radial-gradient(#d6dfd6 1px,transparent 1.7px) 0 0/15px 15px;mask-image:linear-gradient(45deg,#0000,#000 35%,#0000)}
.public-dashboard .dashboard-main{min-width:0}
.public-dashboard .dashboard-main>*{scroll-margin-top:22px}
.public-dashboard .hero{border-radius:19px;background:linear-gradient(110deg,#175a4e,#03473e);color:white;padding:32px 34px;min-height:267px;display:flex;align-items:center;box-shadow:none;border:1px solid #0f5b4e;isolation:isolate}
.public-dashboard .hero::before{content:'';background:linear-gradient(to right,rgba(9,57,47,.05),#095344 91%),url('lab-photo.jpg') center left/cover no-repeat;position:absolute;left:0;top:0;bottom:0;width:53%;z-index:-1;opacity:.78;pointer-events:none}
.public-dashboard .hero:after{display:none}
.public-dashboard .hero-contents{max-width:620px;position:relative;z-index:1}
.public-dashboard .hero .eyebrow{display:flex;align-items:center;gap:9px;color:#f3d69c;font-size:.88rem;margin:0 0 11px}
.public-dashboard .hero .eyebrow svg{width:18px;height:18px}
.public-dashboard .hero h1{font-size:clamp(1.4rem,2.6vw,2rem);font-weight:800;line-height:1.75;margin-bottom:8px;color:#fff}
.public-dashboard .hero p:not(.eyebrow){font-size:.89rem;max-width:580px;color:#e4f1e9;line-height:2;margin:0}
.public-dashboard .hero .action-row{margin-top:19px}
.public-dashboard .hero-btn{background:#f7f7f3;color:#185044;border-color:#f7f7f3;border-radius:10px;padding:9px 16px}
.public-dashboard .hero-btn:hover{background:#fff;color:#084338}
.public-dashboard #serviceNotice{margin-top:14px;font-size:.78rem;padding:10px 15px;border-right:4px solid #b9a06f;background:#f4f6f3;color:#365b4d}
.public-dashboard #serviceNotice.critical{background:#fff8ee;color:#755127;border-color:#daa85c}
.public-dashboard .indicator-panel{padding:24px 22px 25px;border-radius:19px;margin-top:16px}
.public-dashboard .indicator-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.public-dashboard .indicator-title{display:flex;align-items:center;gap:12px}
.public-dashboard .indicator-title h2{font-size:1.17rem;font-weight:800;color:#0b5949;margin:0}
.public-dashboard .indicator-title p{font-size:.76rem;margin:3px 0 0;color:#758079}
.public-dashboard .indicator-title-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#eef6ef;color:#145d4d}
.public-dashboard .indicator-title-icon svg{width:22px;height:22px}
.public-dashboard .refresh-stat{font-size:.73rem;border:1px solid #e0e7dc;background:#fafbf8;color:#34534a;border-radius:9px}
.public-dashboard #indicators .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:21px}
.public-dashboard #indicators .metric{min-height:129px;padding:17px 18px 16px;border-radius:13px;border:1px solid #e5e9e2;box-shadow:none;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;overflow:hidden;background:linear-gradient(145deg,#f7fbf7,#f0f7f2);color:#154f43}
.public-dashboard #indicators .metric:nth-child(3n+2){background:linear-gradient(145deg,#fffcf7,#f9f5ed);border-color:#ede7dc}
.public-dashboard #indicators .metric:nth-child(3n){background:linear-gradient(145deg,#fafbfd,#f1f3f6);border-color:#e7eaee}
.public-dashboard #indicators .metric .stat-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#e2f0e7;color:#115446}
.public-dashboard #indicators .metric:nth-child(3n+2) .stat-icon{background:#f2e8d9;color:#6b4c2b}
.public-dashboard #indicators .metric:nth-child(3n) .stat-icon{background:#e9edf1;color:#344d58}
.public-dashboard #indicators .metric .stat-icon svg{width:26px;height:26px}
.public-dashboard #indicators .metric small{font-size:.79rem;color:#536963;max-width:calc(100% - 64px);line-height:1.9;min-height:0;font-weight:600}
.public-dashboard #indicators .metric b{font-size:1.85rem;color:#093e37;line-height:1.3;font-weight:800}
.public-dashboard #indicators .metric::after{content:'▂ ▅ ▃';position:absolute;bottom:12px;left:83px;color:#c9dacd;opacity:.4;font-size:20px;line-height:1}
.public-dashboard #lastUpdated{font-size:.72rem;text-align:left;margin:12px 0 0}
.public-dashboard .empty-stats{grid-column:1/-1;color:var(--muted);margin:0;padding:18px;background:#f8faf8;border-radius:12px}
.public-dashboard .support-panel{border-radius:19px;margin-top:17px;padding:24px}
.public-dashboard .support-panel .circle{width:42px;height:42px;flex:none}
.public-dashboard .support-panel .circle svg{width:20px;height:20px}
.public-dashboard .support-panel h2{color:#135b49}
.public-dashboard .support-panel .section-heading p{font-size:.8rem}
.public-dashboard .note-inline{font-size:.78rem;color:#60736b;margin:12px 0 0}
.public-dashboard .docs a{background:#f5f8f3;color:#154d40;border-color:#dce7db}
@media(max-width:1020px){
 .public-dashboard .wrap{padding:0 20px 38px}
 .public-dashboard .layout-with-sidebar{grid-template-columns:228px minmax(0,1fr);gap:16px}
 .public-dashboard .dashboard-sidebar .side-item{font-size:.77rem;gap:8px;padding:8px 10px;min-height:46px}
 .public-dashboard .hero{padding:24px;min-height:235px}
 .public-dashboard #indicators .metric{padding:13px;min-height:125px}
 .public-dashboard #indicators .metric .stat-icon{width:45px;height:45px;left:9px}
 .public-dashboard #indicators .metric .stat-icon svg{width:22px;height:22px}
}
@media(max-width:750px){
 .public-dashboard .wrap{padding:0 12px 25px}
 .public-dashboard .top-nav{padding:16px 2px;gap:9px}
 .public-dashboard .brand strong{font-size:1.05rem}
 .public-dashboard .brand small{font-size:.63rem}
 .public-dashboard .btn-shortcut{padding:8px 10px;font-size:.74rem}
 .public-dashboard .layout-with-sidebar{grid-template-columns:1fr;gap:14px}
 .public-dashboard .dashboard-sidebar{position:static;padding-bottom:12px;border-radius:14px}
 .public-dashboard .side-title{font-size:1.06rem;padding:11px 16px;margin-bottom:9px}
 .public-dashboard .dashboard-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:0 9px}
 .public-dashboard .dashboard-sidebar .side-item{padding:8px 10px;min-height:43px;font-size:.73rem;gap:7px}
 .public-dashboard .dashboard-sidebar .side-item::before{width:5px;height:5px}
 .public-dashboard .dashboard-sidebar .side-item svg{width:16px;height:16px}
 .public-dashboard .side-motif{display:none}
 .public-dashboard .hero{padding:23px 20px;min-height:225px}
 .public-dashboard .hero::before{width:70%;opacity:.36}
 .public-dashboard .hero h1{font-size:1.35rem}
 .public-dashboard .hero p:not(.eyebrow){font-size:.77rem}
 .public-dashboard #indicators .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .public-dashboard #indicators .metric{min-height:108px}
 .public-dashboard #indicators .metric .stat-icon{width:38px;height:38px;left:6px}
 .public-dashboard #indicators .metric .stat-icon svg{width:19px;height:19px}
 .public-dashboard #indicators .metric small{font-size:.68rem;max-width:calc(100% - 40px)}
 .public-dashboard #indicators .metric b{font-size:1.44rem}
 .public-dashboard .indicator-panel{padding:17px 13px}
 .public-dashboard .indicator-title h2{font-size:1.05rem}
}
@media(max-width:380px){.public-dashboard .dashboard-sidebar .side-item{font-size:.67rem}.public-dashboard .btn-shortcut span{display:none}}
@media print{.public-dashboard .dashboard-sidebar,.public-dashboard .hero,.public-dashboard .support-panel,.public-dashboard .top-nav{display:none!important}}
/* Navigation labels must stay dark and legible, not inherit the gold icon tint of legacy styles. */
.public-dashboard .dashboard-sidebar .side-item span{color:inherit!important;display:inline;min-width:0;text-align:right;font-size:inherit}
.public-dashboard .dashboard-sidebar .side-item.current span{color:#095541!important}
