@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@300;400;500;600;700&family=Manrope:wght@500;600;700;800&family=Sarabun:wght@400;500;600;700&display=swap";:root{color:#172d3c;font-synthesis:none;text-rendering:optimizelegibility;--navy:#102c41;--navy-deep:#0a2234;--red:#a92535;--red-dark:#861b2a;--red-soft:#f8e8e8;--gold:#c9a35d;--cream:#f6f4ef;--paper:#fff;--ink:#172d3c;--muted:#71808b;--line:#e4e6e4;--green:#29785d;background:#f6f4ef;font-family:IBM Plex Sans Thai,sans-serif}.role-gateway{background:radial-gradient(circle at 20% 20%,#a9253517,#0000 32%),linear-gradient(145deg,#102c41,#071c2a);place-items:center;min-height:100vh;padding:28px;display:grid}.role-card{text-align:center;background:#fff;border-radius:22px;width:min(560px,100%);padding:36px;box-shadow:0 28px 70px #0000003d}@property --snr-login-border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --snr-main-border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.main-gateway-motion-frame{--snr-main-border-angle:0deg;background:linear-gradient(#fff, #fff) padding-box, conic-gradient(from var(--snr-main-border-angle), transparent 0deg 265deg, #a9253500 265deg, #ff8994 277deg, #d83b4d 294deg, #a92535 321deg, #741321 339deg, #74132100 352deg 360deg) border-box;border:4px solid #0000;animation:7.5s linear 4 snrMainBorderClockwise;box-shadow:0 28px 70px #0000003d,0 0 24px #d83b4d2b}@keyframes snrMainBorderClockwise{to{--snr-main-border-angle:360deg}}.login-border-chaser.login-border-chaser{--snr-login-border-angle:0deg;background:linear-gradient(#fff, #fff) padding-box, conic-gradient(from var(--snr-login-border-angle), transparent 0deg 265deg, #a9253500 265deg, #ff8994 277deg, #d83b4d 294deg, #a92535 321deg, #741321 339deg, #74132100 352deg 360deg) border-box;border:4px solid #0000;animation:3.75s linear infinite snrLoginBorderClockwise;box-shadow:0 28px 70px #0000003d,0 0 24px #d83b4d2b}@keyframes snrLoginBorderClockwise{to{--snr-login-border-angle:360deg}}@media (prefers-reduced-motion:reduce){.main-gateway-motion-frame{--snr-main-border-angle:35deg;animation:none}.login-border-chaser.login-border-chaser{--snr-login-border-angle:35deg;animation:none}}button.button-feedback-passed,button.button-feedback-passed:hover,button.button-feedback-passed:active{transform:translateY(-1px);color:#245942!important;background:linear-gradient(135deg,#e8f8ef,#cfeedd)!important;border-color:#8bc9aa!important;box-shadow:0 10px 24px #44916533!important}button.button-feedback-passed strong,button.button-feedback-passed small,button.button-feedback-passed svg{color:#245942!important}.role-options button.button-feedback-passed>span{color:#fff!important;background:#69b889!important}.role-seal{margin:0 auto 16px}.role-card h1{color:var(--navy);margin:0;font-size:25px}.role-card>p:not(.section-kicker){color:#7d8b93;margin:8px 0 23px;font-size:10px}.role-options{gap:11px;display:grid}.role-options button{color:#334e5d;text-align:left;background:#fbfcfb;border:1px solid #dde3e0;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:72px;padding:13px 16px;transition:all .18s;display:grid}.role-options button:hover{border-color:#b44c58;transform:translateY(-1px);box-shadow:0 9px 22px #48252b14}.role-options button:disabled{cursor:wait;opacity:.52;box-shadow:none;transform:none}.role-options button>span{color:#fff;background:var(--red);border-radius:11px;place-items:center;width:43px;height:43px;display:grid}.role-options button strong,.role-options button small{display:block}.role-options button small{color:#8a969c;margin-top:2px;font-size:8px}.role-options .role-exit-button{color:#fff;border-color:var(--red-dark);background:linear-gradient(135deg, #bd2d3d, var(--red-dark));box-shadow:0 10px 22px #861b2a38}.role-options .role-exit-button:hover{color:#fff;background:linear-gradient(135deg,#cc3547,#7b1724);border-color:#721420;box-shadow:0 13px 28px #861b2a52}.role-options .role-exit-button>span{color:#fff;background:#4a061047}.role-options .role-exit-button strong{color:#fff}.role-options .role-exit-button small{color:#ffffffd1}.role-options .role-exit-button>svg{color:#fff}.role-security{color:#89969b;justify-content:center;align-items:center;gap:5px;margin-top:18px;font-size:7.5px;display:flex}.admin-login-card{max-width:430px}.command-center-chip{color:#fff;background:#102c41;text-decoration:none}.admin-login-icon{color:#fff;background:var(--red);border-radius:15px;place-items:center;width:55px;height:55px;margin:0 auto 14px;display:grid}.admin-login-card label{text-align:left;margin:12px 0;display:block}.admin-login-card label>span{color:#435b69;align-items:center;gap:6px;margin-bottom:6px;font-size:9px;font-weight:600;display:flex}.admin-login-card input{border:1px solid #dbe1de;border-radius:9px;outline:0;width:100%;height:47px;padding:0 12px;font-size:11px}.admin-login-card input:focus{border-color:#b45964;box-shadow:0 0 0 3px #a9253514}.admin-login-button,.admin-register-button{color:#fff;background:var(--red);border:0;border-radius:10px;width:100%;height:48px;margin-top:8px;font-weight:600}.admin-login-button:disabled{cursor:not-allowed;opacity:.52}.admin-register-button{color:#314c5a;background:#f7f9f8;border:1px solid #dce2df}.admin-login-identity-note{color:#735d35;text-align:left;background:#fff9ed;border:1px solid #ead9c0;border-radius:9px;align-items:flex-start;gap:7px;margin:12px 0;padding:10px;font-size:12px;line-height:1.5;display:flex}.admin-login-identity-note svg{flex:none;margin-top:1px}.admin-email-step-status{color:#687980;text-align:left;background:#f5f7f6;border:1px solid #e1e5e3;border-radius:8px;align-items:flex-start;gap:7px;margin:-3px 0 5px;padding:8px 9px;font-size:11px;line-height:1.45;display:flex}.admin-email-step-status svg{flex:none;margin-top:1px}.admin-email-step-status.valid{color:#80682f;background:#fff9e9;border-color:#eadcae}.admin-email-step-status.ready{color:#2d6f56;background:#eef8f3;border-color:#cae3d7}.admin-password-locked input:disabled{cursor:not-allowed;color:#87949a;opacity:1;background:#eef1f0;border-style:dashed}.admin-login-security-note{color:#376856;background:#eff8f4;border:1px solid #d7e6df;border-radius:9px;align-items:center;gap:7px;margin:7px 0 2px;padding:9px 10px;font-size:12px;line-height:1.45;display:flex}.admin-login-security-note svg{flex:none}.login-error,.login-info{color:#942b38;text-align:left;background:#f9e9eb;border-radius:8px;align-items:center;gap:7px;margin:12px 0;padding:10px;font-size:8.5px;display:flex}.login-info{color:#267158;background:#e7f3ed}.role-developer-credit{text-align:center;border-top:1px solid #e4e6e4;gap:3px;margin-top:16px;padding-top:15px;display:grid}.role-developer-credit span{color:#697b84;font-size:14px;font-weight:600}.role-developer-credit strong{color:var(--navy);font-size:15px}.role-developer-credit small{color:#9a7c44;font-size:12px}.role-usage-counter{color:#536873;text-align:center;background:linear-gradient(135deg,#fffaf0,#fff5dc);border:1px solid #ead9ad;border-radius:13px;grid-template-columns:auto auto;justify-content:center;align-items:baseline;gap:7px 9px;width:100%;margin-top:16px;padding:13px 16px;display:grid;box-shadow:inset 4px 0 #d2a84d}.role-usage-counter>span{grid-column:1/-1;justify-content:center;align-items:center;gap:7px;width:100%;font-size:clamp(14px,3.4vw,16px);font-weight:700;line-height:1.35;display:flex}.role-usage-counter>strong{color:#9f2536;font-variant-numeric:tabular-nums;text-align:center;min-width:1ch;font-size:clamp(29px,7vw,34px);line-height:1}.role-usage-counter>small{color:#8d7442;font-size:clamp(12px,3vw,14px);font-weight:700}.hero-date-panel>p,.date-panel-row span,.date-panel-row small{font-size:11px}.member-hint,.form-summary span{font-size:10px}.privacy-copy,.count-head small{font-size:9.5px}.hero-date-panel>p,.date-panel-row span,.date-panel-row small{font-size:22px}@media (width<=700px){.role-card{padding:24px 18px}.role-card h1{font-size:29px}.role-options button{grid-template-columns:auto minmax(0,1fr)}.role-options button>svg{display:none}.hero-copy>p:not(.hero-kicker){font-size:23px}.department-tabs{grid-template-columns:1fr}.department-tabs button{align-items:flex-start}.form-summary{grid-template-columns:1fr}.form-summary>div+div{border-top:1px solid #e4e6e4;border-left:0}}.role-card{width:min(760px,100%)}.role-card>p:not(.section-kicker){font-size:26px;line-height:1.55}.role-options button{min-height:118px}.role-options button small{font-size:22px;line-height:1.4}.role-security{font-size:20px;line-height:1.45}.hero-copy>p:not(.hero-kicker){font-size:28px}.time-rule{min-height:92px}.time-rule small{font-size:20px;line-height:1.35}.hero-date-panel>p,.date-panel-row span,.date-panel-row small{font-size:22px}.date-panel-note{font-size:21px;line-height:1.4}.sign-card-head h3{font-size:28px;line-height:1.35}.field-label{font-size:26px;line-height:1.4}.roster-picker-heading>small{font-size:21px;line-height:1.4}.department-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.department-tabs button{min-height:86px;padding:12px 14px}.department-tabs button span{white-space:normal;font-size:23px;line-height:1.35}.member-panel-head{flex-direction:column;align-items:flex-start;min-height:72px}.member-list{grid-template-columns:1fr;max-height:520px}.member-list button{min-height:76px}.member-list button>span:nth-child(2){white-space:normal;font-size:24px;line-height:1.35}.member-hint{font-size:20px;line-height:1.4}.form-summary span{font-size:20px}.form-summary strong{font-size:24px;line-height:1.35}.sign-button{height:72px;font-size:30px}.privacy-copy{font-size:19px;line-height:1.4}.count-head small{font-size:19px}.instruction-card li small{font-size:20px;line-height:1.4}.deadline-note{font-size:21px;line-height:1.4}@media (width<=700px){.role-card{padding:24px 18px}.role-card h1{font-size:29px}.role-options button{grid-template-columns:auto minmax(0,1fr)}.role-options button>svg{display:none}.hero-copy>p:not(.hero-kicker){font-size:23px}.department-tabs{grid-template-columns:1fr}.department-tabs button{align-items:flex-start}.form-summary{grid-template-columns:1fr}.form-summary>div+div{border-top:1px solid #e4e6e4;border-left:0}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #a925352e}.site-header{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #e7e7e4;height:88px;position:sticky;top:0}.header-inner{align-items:center;gap:8px;width:min(1580px,100% - 24px);height:100%;margin:0 auto;display:flex}.school-brand{align-items:center;gap:10px;min-width:210px;display:flex}.school-seal{border:1px solid var(--gold);color:#fff;background:var(--red);border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:relative;box-shadow:inset 0 0 0 4px #fff,inset 0 0 0 5px #c9a35dbf}.school-seal:before{content:"";border:1px solid #c9a35d80;border-radius:50%;position:absolute;inset:-3px}.school-seal span{font-size:12px;font-weight:700}.school-brand strong,.school-brand small{display:block}.school-brand strong{color:var(--navy);font-size:15px;line-height:1.2}.school-brand small{color:#9a7c44;letter-spacing:.18em;margin-top:3px;font:700 7px/1 Manrope,sans-serif}.site-header nav{scrollbar-width:none;align-items:center;gap:6px;min-width:0;height:100%;margin:0 auto;display:flex;overflow-x:auto}.site-header nav::-webkit-scrollbar{display:none}.site-header nav button{--admin-nav-bg:#f2f5f7;--admin-nav-accent:#708897;border:1px solid color-mix(in srgb, var(--admin-nav-accent) 25%, white);color:#405866;background:var(--admin-nav-bg);border-radius:11px;flex:none;min-height:48px;padding:0 11px;font-size:14.4px;font-weight:600;transition:transform .18s,box-shadow .18s;position:relative}.site-header nav button:first-child{--admin-nav-bg:#e8f3ff;--admin-nav-accent:#5f91c5}.site-header nav button:nth-child(2){--admin-nav-bg:#e8f6ef;--admin-nav-accent:#559574}.site-header nav button:nth-child(3){--admin-nav-bg:#fff4d8;--admin-nav-accent:#bd9130}.site-header nav button:nth-child(4){--admin-nav-bg:#fde9ef;--admin-nav-accent:#bd7185}.site-header nav button:nth-child(5){--admin-nav-bg:#efebff;--admin-nav-accent:#8071b5}.site-header nav button:nth-child(6){--admin-nav-bg:#ffefe4;--admin-nav-accent:#bd7953}.site-header nav button:nth-child(7){--admin-nav-bg:#e5f5f5;--admin-nav-accent:#548f94}.site-header nav button:after{content:"";background:var(--admin-nav-accent);border-radius:999px;height:3px;transition:all .2s;position:absolute;bottom:4px;left:50%;right:50%}.site-header nav button:hover{color:var(--navy);transform:translateY(-1px)}.site-header nav button.active{color:var(--navy);box-shadow:inset 0 0 0 2px var(--admin-nav-accent), 0 4px 12px color-mix(in srgb, var(--admin-nav-accent) 18%, transparent);font-weight:700}.site-header nav button.active:after{left:16%;right:16%}.admin-chip{color:#4c606d;background:#f7f9f8;border:1px solid #dfe4e3;border-radius:9px;align-items:center;gap:7px;height:37px;padding:0 12px;font-size:10px;display:flex}.admin-chip svg{color:var(--red)}.mobile-menu{display:none}.system-strip{color:#a9b7c0;background:var(--navy-deep);justify-content:space-between;align-items:center;gap:18px;min-height:31px;padding:5px max(22px,50vw - 610px);font-size:8.5px;display:flex}.system-strip>div{align-items:center;display:flex}.system-strip i{background:#ffffff2e;width:1px;height:11px;margin:0 10px}.pulse-dot{background:#66c39b;border-radius:50%;width:6px;height:6px;margin-right:6px;box-shadow:0 0 0 4px #66c39b1a}.hero{color:#fff;background:linear-gradient(118deg, var(--navy-deep) 0%, #12334a 58%, #173b50 100%);min-height:385px;position:relative;overflow:hidden}.hero:before{content:"";border:1px solid #fff1;border-radius:50%;width:560px;height:560px;position:absolute;top:-250px;right:-110px;box-shadow:0 0 0 70px #ffffff05,0 0 0 140px #ffffff05}.hero-pattern{opacity:.085;background-image:linear-gradient(30deg,#0000 48%,#fff 49% 50%,#0000 51%);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 30%,#000);mask-image:linear-gradient(90deg,#0000 30%,#000)}.hero-inner{z-index:1;grid-template-columns:1.2fr .8fr;align-items:center;gap:80px;width:min(1120px,100% - 42px);min-height:385px;margin:0 auto;display:grid;position:relative}.hero-kicker{color:#dac28f;letter-spacing:.08em;align-items:center;gap:9px;margin:0 0 14px;font-size:10px;font-weight:600;display:flex}.hero-kicker span{background:var(--gold);width:23px;height:1px}.hero-copy h1{letter-spacing:-.8px;margin:0;font-size:clamp(37px,4.3vw,55px);line-height:1.08}.hero-copy h1 em{color:#e7d29f;font-style:normal;font-weight:400}.hero-copy>p:nth-of-type(2){color:#b9c7ce;margin:13px 0 18px;font-size:12px;line-height:1.65}.time-rule{background:#ffffff0f;border:1px solid #ffffff1c;border-radius:10px;align-items:center;gap:10px;width:fit-content;padding:10px 13px;display:flex}.time-rule>svg{color:#dbbd7c}.time-rule span,.time-rule strong{display:block}.time-rule span{color:#8fa4af;font-size:8px}.time-rule strong{font:600 12px/1.2 Manrope,IBM Plex Sans Thai,sans-serif}.time-rule small{color:#e1c49e;border-left:1px solid #ffffff21;padding-left:11px;font-size:8.5px}.hero-date-panel{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fff1;border:1px solid #ffffff1f;border-radius:18px;padding:24px;box-shadow:0 20px 50px #00000024}.hero-date-panel>p{color:#9db0ba;text-transform:uppercase;letter-spacing:.08em;margin:0 0 13px;font-size:9px;font-weight:600}.date-panel-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.date-panel-row button{color:#aebdc5;text-align:left;background:#03162247;border:1px solid #ffffff1a;border-radius:13px;min-height:146px;padding:13px;transition:all .18s;position:relative}.date-panel-row button:hover{filter:saturate(1.05);transform:translateY(-1px)}.date-panel-row button.date-tone-past{color:#5f3e2b;background:linear-gradient(145deg,#f0e2d4,#dcbfa6);border-color:#cba98c}.date-panel-row button.date-tone-next{color:#245f49;background:linear-gradient(145deg,#e2f5ea,#bde5d1);border-color:#8dc7aa}.date-panel-row button.date-tone-scheduled{color:#fff;background:linear-gradient(145deg,#9c2735,#781e2b);border-color:#b64a59}.date-panel-row button.selected{border-color:#f0ce82;box-shadow:0 0 0 3px #f0ce8257,0 9px 25px #00000029}.date-panel-row span,.date-panel-row strong,.date-panel-row small{display:block}.date-panel-row span{font-size:9px}.date-panel-row strong{margin-top:5px;font:700 24px/1.1 Manrope,IBM Plex Sans Thai,sans-serif}.date-panel-row small{opacity:.65;margin-top:3px;font-size:9px}.date-panel-row i{color:#173f31;background:#f4d992;border-radius:50%;place-items:center;width:20px;height:20px;display:none;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #262f2529}.date-panel-row button.selected i{display:grid}.date-panel-row .schedule-status-badges{flex-wrap:wrap;gap:5px;margin-top:11px;display:flex}.date-panel-row .schedule-status-badge{opacity:1;border:1px solid #0000;border-radius:999px;width:fit-content;padding:4px 8px;font-weight:700;line-height:1.15}.date-panel-row .schedule-status-badge.status-today{color:#704e0e;background:#fff1c9;border-color:#ead393}.date-panel-row .schedule-status-badge.status-future{color:#315d75;background:#e7f3f8;border-color:#b9d5e3}.date-panel-row .schedule-status-badge.status-ended{color:#87424d;background:#f5e7e9;border-color:#e1bdc3}.date-panel-row .schedule-status-badge.status-open{color:#23664d;background:#dff2e8;border-color:#a8d7c2}.date-panel-row .schedule-status-badge.status-open:before{content:"";vertical-align:1px;background:#2f9a70;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block;box-shadow:0 0 0 3px #2f9a701f}.date-panel-row .schedule-status-badge.status-test{color:#81530c;background:#fff3d8;border-color:#ecd29c}.date-panel-note{color:#9db0ba;align-items:center;gap:7px;margin-top:13px;font-size:8.5px;display:flex}.date-panel-note svg{color:#d3ba85}.date-panel-note.selection-required{color:#ffe9b6;font-weight:700}.signing-section,.report-content{width:min(1120px,100% - 42px);margin:0 auto;padding:43px 0 55px}.section-heading{text-align:center;margin-bottom:23px}.section-kicker{color:var(--red);letter-spacing:.1em;margin:0 0 5px;font:700 8.5px/1.3 Manrope,IBM Plex Sans Thai,sans-serif}.section-heading h2{color:var(--navy);margin:0;font-size:24px}.section-heading>p:last-child{color:#798690;margin:5px 0 0;font-size:10.5px}.sign-layout{grid-template-columns:minmax(0,1.65fr) minmax(265px,.7fr);align-items:start;gap:19px;display:grid}.sign-card,.today-count,.instruction-card,.demo-toolbar,.report-card,.department-overview{background:var(--paper);border:1px solid #e2e4e2;border-radius:18px;box-shadow:0 10px 35px #112c3e0e}.sign-card{padding:25px 27px 19px}.sign-card-head{border-bottom:1px solid #e8e9e7;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding-bottom:19px;display:grid}.step-number{color:#fff;background:var(--navy);border-radius:10px 10px 10px 3px;place-items:center;width:36px;height:36px;font:700 11px Manrope,sans-serif;display:grid}.sign-card-head span,.sign-card-head h3{margin:0;display:block}.sign-card-head>div:nth-child(2)>span{color:#87919a;font-size:9px}.sign-card-head h3{color:#233e50;font-size:12px;font-weight:600}.live-status{border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:8.5px;font-weight:600;display:inline-flex!important}.live-status i{border-radius:50%;width:6px;height:6px}.live-open{color:#26755c;background:#e4f2ec}.live-open i{background:#3a9a76;box-shadow:0 0 0 4px #3a9a761a}.live-late{color:#9e5d2e;background:#fff0e2}.live-late i{background:#db7d3c}.live-closed,.live-not-open{color:#982d3b;background:#f7e7e9}.live-closed i,.live-not-open i{background:var(--red)}.alert-banner{color:#fff;background:linear-gradient(130deg, var(--red), #861f2d);border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:64px;margin:17px 0 0;padding:10px 13px;animation:.22s slideDown;display:grid;box-shadow:0 7px 19px #921c2a26}.alert-banner>span{background:#ffffff21;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.alert-banner strong,.alert-banner small{display:block}.alert-banner strong{font-size:11.5px}.alert-banner small{color:#f0c7cc;margin-top:2px;font-size:8.5px}.alert-banner button{color:#ffffffb3;background:0 0;border:0}.alert-error{background:linear-gradient(130deg,#b73a47,#8f2432)}.alert-late{background:linear-gradient(130deg,#b72b39,#871c2a)}.alert-closed{background:linear-gradient(130deg,#8e1d2a,#681420)}.alert-unavailable{background:linear-gradient(130deg,#bd293c,#7d1424);box-shadow:0 9px 24px #921c2a3d}.alert-fullscreen-lock{z-index:1200;background:linear-gradient(112deg,#c93245 0%,#a12134 50%,#701421 100%);border:0;border-radius:0;outline:9999px solid #0a192394;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(18px,3vw,42px);width:100vw;min-height:clamp(210px,32svh,300px);margin:0;padding:clamp(28px,5vw,64px) max(28px,50vw - 590px);position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:0 24px 70px #39060f75}.alert-fullscreen-lock>span{background:#ffffff24;width:clamp(58px,7vw,78px);height:clamp(58px,7vw,78px);box-shadow:inset 0 0 0 1px #ffffff24}.alert-fullscreen-lock>span svg{width:clamp(30px,4vw,42px);height:clamp(30px,4vw,42px)}.alert-fullscreen-lock>div:nth-child(2)>strong{text-wrap:balance;font-size:clamp(24px,3.2vw,44px);line-height:1.22}.alert-fullscreen-lock>div:nth-child(2)>small{color:#ffdce1;margin-top:10px;font-size:clamp(13px,1.5vw,19px);line-height:1.45}.duplicate-countdown{color:#9b2637;text-align:center;background:#fff;border:5px solid #ffffffb8;border-radius:50%;flex:none;place-content:center;width:clamp(88px,10vw,116px);height:clamp(88px,10vw,116px);animation:1s ease-in-out infinite countdownPulse;display:grid;box-shadow:0 12px 30px #3c050f4d,inset 0 0 0 1px #9b263714}.duplicate-countdown strong{color:#9b2637;font:800 clamp(31px,4vw,45px)/.95 Manrope,IBM Plex Sans Thai,sans-serif}.duplicate-countdown small{color:#9b2637;margin-top:6px;font-size:clamp(9px,1vw,12px);font-weight:700;line-height:1}@keyframes countdownPulse{0%,to{transform:scale(1);box-shadow:0 5px 16px #4d0a1533,0 0 #ffffff4d}50%{transform:scale(1.045);box-shadow:0 5px 16px #4d0a1533,0 0 0 5px #fff0}}@media (width<=700px){.alert-fullscreen-lock{min-height:clamp(210px,34svh,280px);padding:30px max(18px, env(safe-area-inset-right)) 30px max(18px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) auto;gap:16px}.alert-fullscreen-lock>span{display:none}.alert-fullscreen-lock>div:nth-child(2)>strong{font-size:clamp(21px,6vw,30px)}.alert-fullscreen-lock>div:nth-child(2)>small{font-size:clamp(12px,3.6vw,16px)}.duplicate-countdown{width:clamp(76px,23vw,96px);height:clamp(76px,23vw,96px)}.duplicate-countdown strong{font-size:clamp(27px,9vw,38px)}}@media (width<=420px){.alert-fullscreen-lock{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:clamp(280px,44svh,350px)}.duplicate-countdown{grid-row:1}}.login-lock-overlay{z-index:5000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#081924b3;place-items:center;display:grid;position:fixed;inset:0}.login-lock-bar{isolation:isolate;color:#fff;background:linear-gradient(112deg,#c93649 0%,#a21e32 50%,#701321 100%);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(20px,3.5vw,52px);width:100vw;min-height:clamp(230px,34svh,340px);padding:clamp(32px,5vw,66px) max(28px,50vw - 590px);display:grid;position:relative;overflow:hidden;box-shadow:0 26px 78px #37040e7a}.login-lock-bar:before{content:"";z-index:0;aspect-ratio:1;border:1px solid #ffffff1f;border-radius:50%;width:min(700px,62vw);position:absolute;top:50%;right:-15%;transform:translateY(-50%);box-shadow:0 0 0 65px #ffffff09,0 0 0 130px #ffffff06}.login-lock-bar>*{z-index:1;position:relative}.login-lock-icon{background:#ffffff21;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:clamp(66px,7vw,88px);height:clamp(66px,7vw,88px);display:grid;box-shadow:inset 0 1px #ffffff1f}.login-lock-copy{min-width:0}.login-lock-copy strong,.login-lock-copy span,.login-lock-copy small{display:block}.login-lock-copy strong{text-wrap:balance;font-size:clamp(25px,3.2vw,44px);line-height:1.22}.login-lock-copy span{color:#ffe1e5;margin-top:11px;font-size:clamp(16px,1.75vw,23px);font-weight:600;line-height:1.45}.login-lock-copy small{color:#efbbc2;margin-top:8px;font-size:clamp(12px,1.25vw,16px)}.login-lock-copy .login-lock-live-time{color:#fff;letter-spacing:.02em;font-variant-numeric:tabular-nums;font:800 clamp(28px,4vw,52px)/1.1 Manrope,Sarabun,sans-serif}.login-lock-retry,.login-lock-exit{color:#922438;background:#fff;border:1px solid #ffffffb8;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-width:190px;min-height:57px;padding:12px 20px;font-size:clamp(15px,1.4vw,18px);font-weight:700;display:flex;box-shadow:0 12px 28px #3b040f3b}.login-lock-retry:hover,.login-lock-exit:hover{transform:translateY(-1px)}.login-lock-countdown{color:#98263a;text-align:center;background:#fff;border:5px solid #ffffffc2;border-radius:50%;place-content:center;width:clamp(96px,10vw,124px);height:clamp(96px,10vw,124px);animation:1s ease-in-out infinite countdownPulse;display:grid;box-shadow:0 14px 34px #3a040f4d,inset 0 0 0 1px #98263a14}.login-lock-countdown strong{font-variant-numeric:tabular-nums;font:800 clamp(34px,4vw,48px)/.95 Manrope,Sarabun,sans-serif}.login-lock-countdown small{margin-top:7px;font-size:clamp(10px,1vw,13px);font-weight:700}.login-lock-clock{color:#fff6;position:absolute;bottom:clamp(18px,3vw,32px);right:clamp(22px,3vw,42px)}.admin-login-guard-timer{text-align:center;justify-items:center;gap:10px;display:grid}.admin-login-guard-timer>span{color:#ffe3e7;max-width:150px;font-size:clamp(12px,1.2vw,15px);font-weight:700;line-height:1.35}.admin-login-guard-copy small{max-width:720px}.admin-login-guard-copy .admin-login-first-warning{color:#fff3b9;background:#4b030d3d;border:1px solid #ffefaa6b;border-radius:10px;margin-top:12px;padding:10px 13px;font-size:clamp(13px,1.35vw,17px);font-weight:700;line-height:1.45}@media (width<=760px){.login-lock-bar{min-height:clamp(320px,48svh,470px);padding:34px max(19px, env(safe-area-inset-right)) 34px max(19px, env(safe-area-inset-left));grid-template-columns:1fr auto;gap:20px 14px}.login-lock-icon{display:none}.login-lock-copy strong{font-size:clamp(23px,6.5vw,33px)}.login-lock-copy span{font-size:clamp(15px,4.3vw,20px)}.login-lock-retry,.login-lock-exit{grid-column:1/-1;width:100%;min-width:0}.login-lock-countdown{width:clamp(86px,24vw,108px);height:clamp(86px,24vw,108px)}.admin-login-guard-timer{align-self:center}}@media (width<=460px){.login-lock-bar{text-align:center;grid-template-columns:1fr;justify-items:center;min-height:clamp(390px,58svh,540px)}.login-lock-countdown,.admin-login-guard-timer{grid-row:1}.login-lock-copy .login-lock-live-time{font-size:clamp(27px,10vw,40px)}}@media (prefers-reduced-motion:reduce){.login-lock-countdown,.login-lock-retry,.login-lock-exit{transition:none;animation:none}}.sign-card-locked .roster-picker,.sign-card-locked .form-summary{pointer-events:none;opacity:.48;filter:grayscale(.22)}.form-grid{grid-template-columns:1fr 1fr;gap:16px;padding:22px 0 18px;display:grid}.field-label{color:#395161;align-items:center;gap:7px;margin-bottom:7px;font-size:10px;font-weight:600;display:flex}.field-label svg{color:#a82a39}.field-label em{color:var(--red);font-style:normal}.select-wrap{background:#fbfcfb;border:1px solid #dfe3e1;border-radius:10px;align-items:center;height:49px;transition:all .18s;display:flex;position:relative}.select-wrap:focus-within{border-color:#bf8b92;box-shadow:0 0 0 3px #a9253512}.select-wrap select{appearance:none;color:#354c5a;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;outline:0;width:100%;height:100%;padding:0 35px 0 13px;font-size:10.5px}.select-wrap select:disabled{color:#999;cursor:not-allowed}.select-wrap svg{color:#809098;pointer-events:none;position:absolute;right:12px}.form-grid label>small{color:#99a2a6;margin-top:5px;font-size:8px;display:block}.roster-picker{padding:21px 0 18px}.roster-picker-heading{justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:10px;display:flex}.roster-picker-heading .field-label{margin-bottom:0}.roster-picker-heading>small{color:#8c989f;font-size:8px}.department-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.department-tabs button{color:#395161;text-align:left;background:#fafbf9;border:1px solid #dfe4e1;border-radius:9px;justify-content:space-between;align-items:center;gap:6px;min-height:49px;padding:8px 10px;transition:all .18s;display:flex}.department-tabs button:hover:not(:disabled){background:#fff;border-color:#bf8b92;transform:translateY(-1px)}.department-tabs button.active{color:#fff;background:linear-gradient(135deg,#ac2a39,#821d2a);border-color:#9d2534;box-shadow:0 7px 16px #891c2a29}.department-tabs button:disabled{cursor:not-allowed;opacity:.55}.department-tabs button span{text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.department-tabs button small{color:#7b8a92;background:#edf0ee;border-radius:999px;flex:none;padding:3px 5px;font-size:7px}.department-tabs button.active small{color:#f7dce0;background:#ffffff24}.member-panel{background:#f8faf8;border:1px solid #dde3df;border-radius:12px;margin-top:11px;overflow:hidden}.member-panel-head{background:#fff;border-bottom:1px solid #e1e5e2;justify-content:space-between;align-items:center;gap:10px;min-height:47px;padding:10px 12px;display:flex}.member-panel-head .field-label{margin:0}.member-panel-head strong{color:#8b2633;font-size:8px}.member-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:285px;padding:10px;display:grid;overflow-y:auto}.member-list button{color:#344d5b;text-align:left;background:#fff;border:1px solid #e0e4e2;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:43px;padding:7px 9px;transition:all .16s;display:grid}.member-list button:hover:not(:disabled){background:#fffafb;border-color:#c4939a}.member-list button.selected{color:#7f1f2c;background:#fbecef;border-color:#9d2534;box-shadow:inset 0 0 0 1px #9d253412}.member-list button>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:600;overflow:hidden}.member-list button>small{color:#909ba0;font-size:7px}.member-check{color:#6d858f;background:#edf2ef;border-radius:7px;place-items:center;width:25px;height:25px;display:grid}.member-list button.selected .member-check{color:#fff;background:#a92535}.member-empty{color:#8d9a9f;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;font-size:9px;display:flex}.member-empty svg{color:#b0bbb7}.member-empty.signed-complete{color:#34755f}.member-empty.signed-complete svg{color:#3e9878}.member-hint{color:#8f9a9f;text-align:center;background:#fff;border-top:1px solid #e1e5e2;margin:0;padding:8px 12px;font-size:7.5px}.form-summary{background:#f8f9f7;border:1px solid #e4e6e4;border-radius:11px;grid-template-columns:1.35fr .65fr;display:grid}.form-summary>div{grid-template-columns:auto 1fr;gap:1px 9px;padding:11px 13px;display:grid}.form-summary>div+div{border-left:1px solid #e4e6e4}.form-summary svg{color:#aa303d;grid-row:1/3;align-self:center}.form-summary span{color:#8a969d;font-size:8px}.form-summary strong{color:#314b5a;font-size:10px}.sign-button{color:#fff;background:linear-gradient(135deg,#ae2938,#851d2a);border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;height:52px;margin-top:15px;font-size:12px;font-weight:600;transition:all .18s;display:flex;box-shadow:0 10px 22px #891c2a30}.sign-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 13px 26px #891c2a40}.sign-button:disabled{cursor:not-allowed;color:#8d969a;box-shadow:none;background:#e2e4e3}.privacy-copy{color:#99a2a6;justify-content:center;align-items:center;gap:5px;margin:10px 0 0;font-size:7.7px;display:flex}.privacy-copy svg{color:#718d82}.sign-sidebar{gap:16px;display:grid}.today-count{color:#fff;background:linear-gradient(145deg,#14364b,#0c2638);border:0;padding:19px 20px}.count-head{align-items:center;gap:9px;display:flex}.count-head>span{color:#e4c987;background:#ffffff14;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.count-head small,.count-head strong{display:block}.count-head small{color:#7f99a8;font-size:7.5px}.count-number{margin:20px 0 8px}.count-number strong{font:700 38px/1 Manrope,sans-serif}.count-number span{color:#8aa0ad;font-size:10px}.count-bar{background:#ffffff1a;border-radius:5px;height:5px;overflow:hidden}.count-bar span{background:linear-gradient(90deg,#c8a45e,#e3cd98);border-radius:5px;height:100%;transition:width .3s;display:block}.today-count p{color:#8fa4b0;margin:8px 0 0;font-size:8.5px}.today-count p strong{color:#d8c28e}.instruction-card{padding:19px 20px}.instruction-card h3{color:var(--navy);margin:0;font-size:15px}.instruction-card ol{margin:14px 0 12px;padding:0;list-style:none}.instruction-card li{align-items:center;gap:9px;margin:11px 0;display:flex}.instruction-card li>span{color:#9c7739;background:#faf5e9;border:1px solid #e1d2b1;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font:700 8px Manrope,sans-serif;display:grid}.instruction-card li strong,.instruction-card li small{display:block}.instruction-card li strong{color:#3d5360;font-size:9.5px}.instruction-card li small{color:#939ca0;font-size:7.5px}.deadline-note{color:#8a3a42;background:#f9ecec;border-radius:9px;gap:8px;padding:10px;display:flex}.deadline-note svg{flex:none}.deadline-note span{font-size:8px;line-height:1.45}.deadline-note strong{font-size:9px;display:block}.deadline-note.date-selection-note{color:#75531f;background:#fff6df}.demo-toolbar{box-shadow:none;border-style:dashed;justify-content:space-between;align-items:center;gap:20px;margin-top:17px;padding:14px 17px;display:flex}.demo-toolbar-top{background:#fffcf5;border-color:#d8c59c;margin:-17px 0 27px}.demo-toolbar>div:first-child{align-items:center;gap:9px;display:flex}.demo-toolbar>div:first-child>svg{color:var(--red)}.demo-toolbar strong,.demo-toolbar small{display:block}.demo-toolbar strong{color:#465c68;font-size:9px}.demo-toolbar small{color:#919b9f;font-size:7.5px}.demo-options{gap:6px;display:flex}.demo-options button{color:#6e7d85;background:#fff;border:1px solid #dfe3e2;border-radius:7px;padding:6px 9px;font-size:8px}.demo-options button.active{color:#fff;border-color:var(--red);background:var(--red)}.confirm-modal{text-align:center;background:#fff;border-radius:20px;width:min(460px,100%);padding:29px;animation:.22s modalIn;position:relative;box-shadow:0 35px 90px #04172447}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0518249e;place-items:center;padding:18px;animation:.18s fadeIn;display:grid;position:fixed;inset:0}.modal-close{color:#73818a;background:#f1f3f2;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:14px;right:14px}.confirm-seal{color:#fff;background:var(--navy);border-radius:17px 17px 17px 5px;place-items:center;width:58px;height:58px;margin:0 auto 13px;display:grid;box-shadow:0 9px 22px #112e412b}.confirm-modal h2{color:var(--navy);margin:0 0 18px;font-size:20px}.confirm-data{text-align:left;border:1px solid #e4e7e5;border-radius:12px;overflow:hidden}.confirm-data>div{grid-template-columns:auto 1fr;gap:0 9px;padding:10px 13px;display:grid}.confirm-data>div+div{border-top:1px solid #e8eae8}.confirm-data svg{color:#a52c3a;grid-row:1/3;align-self:center}.confirm-data span{color:#8b969c;font-size:7.5px}.confirm-data strong{color:#354d5b;font-size:10px}.confirm-data em{color:#a32838;background:#f8e3e5;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:7px;font-style:normal}.confirm-note{color:#8b969b;justify-content:center;align-items:center;gap:5px;margin:10px 0 16px;font-size:8px;display:flex}.primary-confirm{color:#fff;background:linear-gradient(135deg,#ae2938,#851d2a);border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;font-size:11px;font-weight:600;display:flex}.plain-cancel{color:#7b898f;background:0 0;border:0;width:100%;height:37px;font-size:9px}.report-page{min-height:70vh}.report-hero{color:#fff;background:linear-gradient(118deg, var(--navy-deep), #15394f);justify-content:space-between;align-items:center;gap:30px;min-height:185px;padding:38px max(22px,50vw - 560px);display:flex}.report-hero h1{margin:0;font-size:clamp(24px,3vw,34px)}.report-hero>div:first-child>p:last-child{color:#aabac3;margin:6px 0 0;font-size:10.5px}.report-hero .section-kicker{color:#d7bc7f}.report-user{background:#ffffff0e;border:1px solid #ffffff1c;border-radius:12px;align-items:center;gap:10px;padding:12px 15px;display:flex}.report-user>span{color:#e4ca90;background:#ffffff14;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.report-user small,.report-user strong{display:block}.report-user small{color:#92a8b3;font-size:7.5px}.report-content{padding-top:27px}.report-date-tabs{align-items:center;gap:8px;margin-bottom:16px;display:flex}.report-date-tabs>span{color:#6f7e87;margin-right:4px;font-size:9px;font-weight:600}.report-date-tabs button{color:#65747d;background:#fff;border:1px solid #dfe3e1;border-radius:8px;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:9px;display:flex}.report-date-tabs button.active{color:#fff;border-color:var(--red);background:var(--red)}.report-mode-switch{background:#fff;border:1px solid #e0e5e2;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:12px;display:flex}.report-mode-switch>span{color:#596e79;margin-right:4px;font-size:12px;font-weight:700}.report-mode-switch button{color:#536975;background:#f9fbfa;border:1px solid #dce3df;border-radius:9px;align-items:center;gap:7px;min-height:38px;padding:7px 13px;font-size:12px;font-weight:600;display:inline-flex}.report-mode-switch button.active.official{color:#1f654c;background:#e4f4ec;border-color:#9dceb9;box-shadow:inset 0 0 0 1px #2d7e5c14}.report-mode-switch button.active.test{color:#82560f;background:#fff0cf;border-color:#e7cb8e;box-shadow:inset 0 0 0 1px #ab741314}.report-test-notice{color:#77531a;background:#fff8e8;border:1px solid #ebd49e;border-radius:10px;align-items:center;gap:10px;margin-bottom:12px;padding:11px 14px;font-size:12px;display:flex}.report-test-notice svg{flex:none}.report-test-notice span{gap:2px;display:grid}.report-no-dates{color:#87959b;font-size:12px}.download-actions button:disabled{cursor:not-allowed;opacity:.45}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:17px;display:grid}.stat-card{background:#fff;border:1px solid #e2e4e2;border-radius:13px;align-items:center;gap:13px;min-height:105px;padding:17px;display:flex;box-shadow:0 6px 20px #112c3e09}.stat-icon{border-radius:11px;flex:none;place-items:center;width:39px;height:39px;display:grid}.stat-card>div>span,.stat-card strong,.stat-card small{display:block}.stat-card>div>span{color:#7c8990;font-size:8px}.stat-card strong{color:var(--navy);margin:2px 0;font:700 24px/1 Manrope,sans-serif}.stat-card small{color:#9ba3a6;font-size:7.5px}.stat-navy .stat-icon{color:#385e77;background:#e9eff3}.stat-green .stat-icon{color:#29785d;background:#e4f2ec}.stat-red .stat-icon{color:var(--red);background:#f7e7e9}.stat-gold .stat-icon{color:#a87a2e;background:#f8f1e3}.report-card{overflow:hidden}.report-card-head{border-bottom:1px solid #e6e8e6;justify-content:space-between;align-items:center;gap:20px;min-height:84px;padding:16px 20px;display:flex}.report-card-head h2,.department-overview h2{color:var(--navy);margin:0;font-size:16px}.download-actions{gap:7px;display:flex}.download-actions button{text-align:left;border-radius:9px;align-items:center;gap:8px;height:45px;padding:0 12px;display:flex}.download-actions span,.download-actions small{display:block}.download-actions span{font:600 9px/1.25 Manrope,IBM Plex Sans Thai,sans-serif}.download-actions small{opacity:.68;margin-top:2px;font-size:6.8px;font-weight:400}.excel-button{color:#226c4d;background:#f1faf5;border:1px solid #bcdcca}.pdf-button{color:#fff;border:1px solid var(--red);background:var(--red)}.report-filters{background:#f8f9f7;align-items:center;gap:8px;min-height:58px;padding:10px 20px;display:flex}.search-field,.department-filter{color:#7c8a92;background:#fff;border:1px solid #dfe3e1;border-radius:8px;align-items:center;gap:7px;height:37px;padding:0 10px;display:flex;position:relative}.search-field input{color:#3f5562;background:0 0;border:0;outline:0;width:100%;font-size:9px}.department-filter select{appearance:none;color:#536671;background:0 0;border:0;outline:0;width:100%;padding-right:22px;font-size:8.5px}.department-filter>svg:last-child{pointer-events:none;position:absolute;right:9px}.report-filters>span{color:#8d979d;margin-left:auto;font-size:8px}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;min-width:760px}.report-table th{color:#7b898f;text-align:left;background:#fff;border-bottom:1px solid #e6e8e6;height:40px;padding:0 15px;font-size:8px}.report-table td{color:#596b75;border-bottom:1px solid #edf0ee;height:56px;padding:0 15px;font-size:9px}.report-table td:first-child{color:#8a969c;text-align:center;width:55px}.report-table td strong{color:#314c5c}.person-cell{align-items:center;gap:9px;display:flex}.person-cell i{color:#fff;background:#35566b;border-radius:50%;place-items:center;width:29px;height:29px;font-size:9px;font-style:normal;display:grid}.person-cell strong{font-size:9.5px}.late-tag,.normal-tag,.absent-tag{border-radius:999px;justify-content:center;align-items:center;min-width:49px;padding:4px 7px;font-size:7.5px;font-weight:600;display:inline-flex}.late-tag{color:#a42d3b;background:#f7e4e7}.normal-tag{color:#2a755b;background:#e4f2ec}.absent-tag{color:#fff;background:#a92a39}.empty-table{text-align:center;color:#96a0a4!important;height:115px!important}.report-footer-row{color:#909b9f;justify-content:space-between;align-items:center;min-height:47px;padding:0 20px;font-size:7.5px;display:flex}.report-footer-row span,.report-footer-row button{align-items:center;gap:5px;display:flex}.report-footer-row button{color:#7c898f;background:0 0;border:0;font-size:7.5px}.department-overview{grid-template-columns:260px 1fr;gap:25px;margin-top:17px;padding:21px;display:grid}.department-bars{gap:8px;display:grid}.department-bars>div{grid-template-columns:minmax(210px,1.6fr) minmax(100px,1fr) 34px;align-items:center;gap:10px;display:grid}.department-bars span{color:#5b6e79;white-space:nowrap;text-overflow:ellipsis;font-size:8px;overflow:hidden}.department-bars>div>div{background:#ecefed;border-radius:5px;height:5px;overflow:hidden}.department-bars i{background:linear-gradient(90deg,#a92a39,#d09169);border-radius:5px;height:100%;display:block}.department-bars strong{color:#526570;font:600 8px Manrope,sans-serif}.pdf-report{color:#1b2f3c;background:#fff;width:760px;padding:0;font-family:Sarabun,sans-serif;position:fixed;top:0;left:-10000px}.pdf-report.pdf-render-source{position:static;top:auto;left:auto}.pdf-page{background:#fff;width:760px;min-height:1040px;padding:38px 42px 54px;position:relative}.pdf-page-break{break-before:auto;page-break-before:auto}.pdf-trial-watermark{z-index:5;color:#b7162b38;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;font-size:24px;font-weight:700;line-height:1;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)rotate(-28deg)}.pdf-title{text-align:center;border-bottom:2px solid #9e2635;padding-bottom:17px}.pdf-seal{color:#ffe36e;letter-spacing:.04em;background:#123e70;border:4px solid #f3ce56;border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto 11px;font-size:24px;font-weight:700;display:grid;box-shadow:inset 0 0 0 3px #123e70,inset 0 0 0 5px #ffe36eb8}.pdf-title h1{margin:0;font-size:20px}.pdf-title h2{margin:2px 0;font-size:15px}.pdf-title p{color:#667680;margin:5px 0 0;font-size:10px}.pdf-title .pdf-fiscal-year{color:#9e2635;margin-top:5px;font-size:13px;font-weight:700;display:block}.pdf-summary{color:#40535f;background:#f4f5f3;justify-content:center;gap:20px;margin:13px 0 17px;padding:9px;font-size:9px;display:flex}.pdf-group{break-inside:avoid;page-break-inside:avoid;margin-top:14px}.pdf-group h3{color:#fff;background:#17364a;justify-content:space-between;margin:0;padding:7px 9px;font-size:10px;display:flex}.pdf-group h3 span{font-weight:400}.pdf-group table{border-collapse:collapse;width:100%}.pdf-group th,.pdf-group td{text-align:left;border:1px solid #d9dddb;padding:6px 8px;font-size:8px}.pdf-group table,.pdf-group th,.pdf-group td{font-family:Sarabun,sans-serif}.pdf-group th{background:#f1f2f0}.pdf-group th:first-child,.pdf-group td:first-child{text-align:center;width:48px}.pdf-group th:nth-child(3),.pdf-group td:nth-child(3){width:90px}.pdf-group th:last-child,.pdf-group td:last-child{width:70px}.pdf-signatures{text-align:center;grid-template-columns:1fr 1fr;gap:60px;margin-top:45px;font-size:9px;display:grid}.pdf-signatures span,.pdf-signatures strong,.pdf-signatures small{margin-top:4px;display:block}.pdf-generated{color:#899398;text-align:center;border-top:1px solid #ddd;margin:0;padding-top:8px;font-size:7px;position:absolute;bottom:18px;left:42px;right:42px}.pdf-empty{color:#78858c;text-align:center;padding:30px}.toast{z-index:150;color:#2d6652;background:#f3fcf7;border:1px solid #cde1d7;border-radius:10px;align-items:center;gap:9px;padding:11px 15px;font-size:9.5px;animation:.25s toastIn;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 13px 40px #112c3e2b}.toast>span{color:#fff;background:#3c8c6c;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.site-footer{color:#91a0a9;background:#0b2435;align-items:center;gap:13px;min-height:93px;padding:17px max(22px,50vw - 560px);display:flex}.school-seal.small{flex:none;width:36px;height:36px}.school-seal.small span{font-size:9px}.site-footer strong,.site-footer span{display:block}.site-footer strong{color:#dde5e9;font-size:9px}.site-footer span{margin-top:2px;font-size:7px}.site-footer p{margin-left:auto;font-size:7px}.site-footer .developer-credit{text-align:right;margin-left:auto}.site-footer .developer-credit strong{color:#f0d79f;font-size:10.5px}.site-footer .developer-credit span{color:#a9b6bd;margin-top:5px;font-size:9px}@keyframes fadeIn{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}}@media (width<=920px){.header-inner{width:calc(100% - 30px)}.school-brand{min-width:210px}.site-header nav{gap:8px}.admin-chip span{display:none}.hero-inner{gap:35px}.sign-layout{grid-template-columns:1fr}.sign-sidebar,.stats-grid{grid-template-columns:1fr 1fr}.department-overview{grid-template-columns:1fr}}@media (width<=700px){.site-header{height:67px}.mobile-menu{width:36px;height:36px;color:var(--navy);background:#f1f3f2;border:0;border-radius:8px;place-items:center;margin-right:9px;display:grid}.school-brand{min-width:0}.school-seal{width:39px;height:39px}.school-brand strong{font-size:12px}.site-header nav{background:#fff;border:1px solid #e2e5e3;border-radius:10px;height:auto;padding:8px;display:none;position:absolute;top:61px;left:15px;right:15px;box-shadow:0 14px 35px #0b243526}.site-header nav.nav-open{display:grid}.site-header nav button{text-align:left;height:46px;padding-left:13px;font-size:14.4px}.site-header nav button.active{color:var(--navy);background:var(--admin-nav-bg);border-radius:9px}.site-header nav button:after{display:none}.admin-chip{margin-left:auto}.system-strip{justify-content:center}.system-strip>span{display:none}.hero-inner{grid-template-columns:1fr;gap:24px;padding:41px 0}.hero-copy{text-align:center}.hero-kicker,.time-rule{margin-left:auto;margin-right:auto}.hero-date-panel{width:min(400px,100%);margin:0 auto}.signing-section,.report-content{width:calc(100% - 28px)}.form-grid{grid-template-columns:1fr}.department-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.member-list{grid-template-columns:1fr}.report-hero{text-align:center;padding-block:30px;display:block}.report-user{text-align:left;width:fit-content;margin:17px auto 0}.report-date-tabs{grid-template-columns:1fr 1fr;display:grid}.report-date-tabs>span{grid-column:1/-1}.report-date-tabs button{text-align:center;justify-content:center;height:auto;min-height:43px}.report-card-head{flex-direction:column;align-items:flex-start}.download-actions{width:100%}.download-actions button{flex:1}.report-filters{flex-wrap:wrap}.search-field{flex:1}.department-filter{order:3;width:100%}}@media (width<=520px){.school-brand small{display:none}.hero-copy h1{font-size:37px}.time-rule{justify-content:center;width:100%}.time-rule small{text-align:left;max-width:112px}.sign-card{padding:20px 15px 16px}.sign-card-head{grid-template-columns:auto 1fr}.roster-picker-heading{flex-direction:column;align-items:flex-start;gap:4px}.department-tabs button{flex-direction:column;align-items:flex-start;min-height:52px}.live-status{grid-column:1/-1;width:fit-content;margin-left:47px}.form-summary{grid-template-columns:1fr}.form-summary>div+div{border-top:1px solid #e4e6e4;border-left:0}.privacy-copy{text-align:center;align-items:flex-start}.sign-sidebar{grid-template-columns:1fr}.demo-toolbar{flex-direction:column;align-items:flex-start}.demo-options{grid-template-columns:1fr;width:100%;display:grid}.stats-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{min-height:90px;padding:11px}.stat-icon{width:34px;height:34px}.report-card-head{padding:15px}.download-actions{grid-template-columns:1fr;display:grid}.report-filters{padding-inline:15px}.search-field{flex-basis:100%;width:100%}.report-filters>span{margin-left:0}.department-bars>div{grid-template-columns:minmax(170px,1fr) 60px 28px}.site-footer{align-items:flex-start}.site-footer p{display:none}.site-footer .developer-credit{text-align:left;width:100%;margin-left:49px}.site-footer{flex-wrap:wrap}.toast{bottom:14px;left:14px;right:14px}}@media print{.site-header,.system-strip,.site-footer,.report-page>:not(.pdf-report){display:none!important}.pdf-report{width:100%;position:static}}.role-card>p:not(.section-kicker){font-size:18px}.role-options button strong{font-size:22px}.role-options button small{font-size:15px}.role-security{font-size:14px}.hero-copy>p:not(.hero-kicker){font-size:20px;line-height:1.55}.hero-kicker{font-size:15px}.time-rule span{font-size:14px}.time-rule strong{font-size:21px}.time-rule small{font-size:14px}.hero-date-panel>p,.date-panel-row span,.date-panel-row small{font-size:15px}.date-panel-row .schedule-status-badge{font-size:12px}.date-panel-note{font-size:15px}.section-heading>p:last-child{font-size:18px}.sign-card-head>div:nth-child(2)>span{font-size:15px}.sign-card-head h3{font-size:20px}.live-status{font-size:15px}.field-label{font-size:18px}.roster-picker-heading>small{font-size:15px}.department-tabs button span{font-size:16px}.department-tabs button small{font-size:13px}.member-panel-head strong{font-size:15px}.member-list button>span:nth-child(2){font-size:17px}.member-list button>small{font-size:13px}.member-empty{font-size:17px}.member-hint,.form-summary span{font-size:14px}.form-summary strong{font-size:17px}.sign-button{font-size:21px}.privacy-copy,.count-head small{font-size:13px}.count-head strong{font-size:18px}.today-count p{font-size:15px}.instruction-card li strong{font-size:17px}.instruction-card li small{font-size:14px}.deadline-note{font-size:15px}.admin-login-card label>span{font-size:12px}.admin-login-card input{font-size:14px}.admin-login-button,.admin-register-button,.admin-chip{font-size:13px}.report-hero h1{font-size:clamp(31px,3.9vw,44px)}.report-hero>div:first-child>p:last-child{font-size:14px}.report-user small{font-size:10px}.report-user strong{font-size:13px}.report-date-tabs>span,.report-date-tabs button{font-size:12px}.stat-card>div>span{font-size:10.5px}.stat-card strong{font-size:31px}.stat-card small{font-size:10px}.report-card-head h2,.department-overview h2{font-size:21px}.download-actions span{font-size:12px}.download-actions small{font-size:9px}.report-filters>span,.report-table th{font-size:10.5px}.report-table td{font-size:12px}.report-footer-row,.report-footer-row button{font-size:10px}.department-bars span,.department-bars strong{font-size:10.5px}.pdf-seal{font-size:31px}.pdf-title h1{font-size:26px}.pdf-title h2{font-size:20px}.pdf-title p{font-size:13px}.pdf-summary{font-size:12px}.pdf-group h3{font-size:13px}.pdf-group th,.pdf-group td{font-size:10.5px}.pdf-group tbody td:nth-child(2){font-size:12.6px}.pdf-signatures{font-size:12px}.pdf-generated{font-size:9px}.pdf-empty{font-size:13px}.search-field,.department-filter{height:48px}.search-field{width:280px}.search-field input{font-size:14.5px}.department-filter{width:370px}.department-filter select{font-size:13px}.department-bars{gap:11px}.department-bars>div{grid-template-columns:minmax(250px,1.6fr) minmax(100px,1fr) 42px}.department-bars span,.department-bars strong{font-size:17px}.report-date-tabs>span{font-size:15.5px}.report-date-tabs button{height:auto;min-height:44px;padding:8px 16px;font-size:15.5px}@media (width<=700px){.search-field,.department-filter{width:100%}.department-bars>div{grid-template-columns:minmax(190px,1fr) 60px 36px}}.schedule-page{min-height:75vh}.schedule-hero{min-height:170px}.schedule-total{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:0 10px;min-width:145px;padding:16px 20px;display:grid}.schedule-total svg{color:#e4ca90;grid-row:1/3}.schedule-total strong{font-size:28px;line-height:1}.schedule-total small{color:#aabac3;font-size:11px}.schedule-content{width:min(1120px,100% - 42px);margin:0 auto;padding:28px 0 60px}.schedule-warning,.schedule-message{border-radius:11px;align-items:center;gap:11px;margin-bottom:16px;padding:14px 17px;display:flex}.schedule-warning{color:#835f1d;background:#fff9e9;border:1px solid #ead29e}.schedule-warning div{gap:3px;display:grid}.schedule-warning strong{font-size:15px}.schedule-warning span{font-size:12px}.schedule-message{color:#2d6652;background:#f3fcf7;border:1px solid #cde1d7;font-size:14px}.schedule-message.error{color:#973141;background:#fff3f4;border-color:#ebc4ca}.schedule-message>span{place-items:center;display:grid}.schedule-message button{color:inherit;background:0 0;border:0;margin-left:auto}.schedule-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:18px;display:grid}.schedule-form,.schedule-list-card{background:#fff;border:1px solid #e2e4e2;border-radius:16px;box-shadow:0 10px 35px #112c3e0e}.schedule-side-stack{gap:18px;min-width:0;display:grid}.schedule-form{padding:21px;position:sticky;top:96px}.schedule-card-head{border-bottom:1px solid #e7e9e7;align-items:center;gap:11px;margin-bottom:16px;padding-bottom:14px;display:flex}.schedule-card-head>span{color:#fff;background:var(--red);border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.schedule-card-head h2,.schedule-list-head h2{color:var(--navy);margin:2px 0 0;font-size:20px}.schedule-form>label,.schedule-time-grid label{color:#526772;gap:6px;margin-top:13px;font-size:13px;font-weight:600;display:grid}.schedule-form label>span em{color:var(--red)}.schedule-type-fieldset{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 4px;padding:0;display:grid}.schedule-type-fieldset legend{color:#526772;grid-column:1/-1;margin-bottom:7px;font-size:13px;font-weight:600}.schedule-type-fieldset>label{color:#64777f;cursor:pointer;background:#fafcfa;border:1px solid #dde3e0;border-radius:10px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:10px;display:grid}.schedule-type-fieldset>label.selected.official{color:#23664d;background:#e8f5ef;border-color:#a9d3c1}.schedule-type-fieldset>label.selected.test{color:#805612;background:#fff4dd;border-color:#e5ca8e}.schedule-type-fieldset input{width:16px;height:16px;accent-color:var(--red)}.schedule-type-fieldset label>span{gap:2px;min-width:0;display:grid}.schedule-type-fieldset label strong{font-size:12px}.schedule-type-fieldset label small{color:inherit;font-size:9px;font-weight:400;line-height:1.3}.schedule-type-lock{color:#8a5c17;grid-column:1/-1;align-items:center;gap:5px;font-size:10px;display:flex}.schedule-form input[type=date],.schedule-form input[type=text],.schedule-form label>input:not([type=checkbox]),.schedule-time-grid input{color:#2f4a59;background:#fff;border:1px solid #dbe1de;border-radius:9px;width:100%;height:45px;padding:0 11px;font-size:14px}.schedule-time-grid{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.schedule-toggle{background:#f6f8f7;border-radius:10px;align-items:center;padding:11px;grid-template-columns:auto 1fr!important;gap:10px!important}.schedule-toggle input{width:19px;height:19px;accent-color:var(--red)}.schedule-toggle span{gap:2px;display:grid}.schedule-toggle small{color:#879398;font-size:10px;font-weight:400}.schedule-save,.schedule-cancel{border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;margin-top:14px;font-size:14px;font-weight:600;display:flex}.schedule-save{color:#fff;background:var(--red);border:0}.schedule-save:disabled{cursor:not-allowed;opacity:.5}.schedule-cancel{color:#60727b;background:#fff;border:1px solid #dce1df;margin-top:7px}.schedule-list-card{overflow:hidden}.schedule-list-head{border-bottom:1px solid #e6e8e6;justify-content:space-between;align-items:center;gap:20px;min-height:85px;padding:17px 20px;display:flex}.schedule-list-head>small{color:#89959b;font-size:11px}.schedule-list{display:grid}.schedule-list article{border-bottom:1px solid #eceeec;grid-template-columns:94px minmax(0,1fr) auto;align-items:center;gap:15px;padding:17px 20px;display:grid}.schedule-list article.inactive{opacity:.75;background:#fafafa}.schedule-list article.test-schedule{box-shadow:inset 4px 0 #e6bf6b}.schedule-list article.official-schedule{box-shadow:inset 4px 0 #79b99d}.schedule-date-box{color:#fff;background:#17364a;border-radius:11px;align-content:center;place-items:center;min-height:67px;display:grid}.schedule-date-box strong{font-size:17px}.schedule-date-box small{color:#c8d3d8;font-size:11px}.schedule-label-row{margin-top:0!important}.schedule-label-row>span{color:#287358;background:#e4f2ec;border-radius:999px;align-items:center;gap:4px;padding:3px 7px;font-size:10px;font-weight:600;display:inline-flex}.schedule-label-row>span.inactive{color:#7b858a;background:#eceeed}.schedule-label-row>span.schedule-kind.official{color:#245f4a;background:#e2f1ea}.schedule-label-row>span.schedule-kind.test{color:#805510;background:#fff0cf}.schedule-detail h3{color:#294757;margin:5px 0 1px;font-size:17px}.schedule-detail p{color:#6b7c84;margin:0;font-size:12px}.schedule-detail>div{color:#7e8b91;flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;font-size:11px;display:flex}.schedule-detail i{background:#b5bdc0;border-radius:50%;width:3px;height:3px}.schedule-actions{gap:7px;display:grid}.schedule-actions button{color:#516771;background:#fff;border:1px solid #dce2df;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-width:78px;height:35px;font-size:11px;display:flex}.schedule-actions button.delete{color:#a23644;background:#fff7f8;border-color:#eccdd1}.schedule-actions button:disabled{cursor:not-allowed;color:#879197;opacity:.72;background:#f3f4f3;border-color:#e1e4e2}.schedule-empty{color:#879398;align-content:center;place-items:center;gap:8px;min-height:180px;font-size:14px;display:grid}.schedule-trash-card{background:#fff;border:1px solid #e2e4e2;border-radius:16px;overflow:hidden;box-shadow:0 10px 35px #112c3e0e}.schedule-trash-card .schedule-list-head>svg{color:#bd8c2e}.schedule-trash-help{color:#7b6b4e;background:#fffbf2;border-bottom:1px solid #eee8da;margin:0;padding:12px 20px;font-size:11px}.schedule-trash-list{display:grid}.schedule-trash-list article{border-bottom:1px solid #eceeec;justify-content:space-between;align-items:center;gap:15px;padding:14px 20px;display:flex}.schedule-trash-list article>div{gap:2px;min-width:0;display:grid}.schedule-trash-list article strong{color:#294757;font-size:15px}.schedule-trash-list article span{color:#697b84;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.schedule-trash-list article small{color:#8c979c;font-size:10px}.schedule-trash-list article button{color:#28694f;background:#ebf7f1;border:1px solid #afd5c4;border-radius:8px;flex:none;align-items:center;gap:6px;min-height:36px;padding:0 11px;font-size:11px;font-weight:600;display:inline-flex}.schedule-trash-empty{color:#72838a;justify-content:center;align-items:center;gap:7px;min-height:86px;font-size:12px;display:flex}.schedule-delete-backdrop{z-index:1200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#071925ad;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.schedule-delete-dialog{background:#fff;border:1px solid #fff6;border-radius:18px;width:min(540px,100%);padding:28px;position:relative;box-shadow:0 28px 80px #00000047}.schedule-dialog-close{color:#60727b;background:#f1f4f2;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:14px;right:14px}.schedule-dialog-icon{color:#a62f40;background:#fdebed;border-radius:16px;place-items:center;width:56px;height:56px;margin-bottom:14px;display:grid}.schedule-delete-dialog h2{color:var(--navy);margin:4px 0 0;font-size:24px}.schedule-delete-date{color:#677982;margin:4px 0 18px}.schedule-delete-summary{border:1px solid #e4e7e5;border-radius:11px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.schedule-delete-summary span{color:#7b888e;text-align:center;gap:3px;padding:12px;font-size:10px;display:grid}.schedule-delete-summary span+span{border-left:1px solid #e4e7e5}.schedule-delete-summary strong{color:#314e5d;font-size:13px}.schedule-delete-note{color:#6c624e;background:#fff8e9;border-radius:10px;margin:16px 0 0;padding:12px 14px;font-size:12px;line-height:1.55}.schedule-delete-note.danger{color:#932d3c;background:#fff0f2;align-items:center;gap:8px;display:flex}.schedule-dialog-actions{grid-template-columns:1fr 1.35fr;gap:9px;margin-top:18px;display:grid}.schedule-dialog-actions button{border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:46px;font-size:12px;font-weight:700;display:flex}.schedule-dialog-actions .secondary{color:#536872;background:#fff;border:1px solid #dce2df}.schedule-dialog-actions .primary{color:#fff;border:1px solid var(--navy);background:var(--navy)}.schedule-dialog-actions .danger-button{color:#fff;background:#a82e3f;border:1px solid #a82e3f}@media (width<=920px){.schedule-layout{grid-template-columns:1fr}.schedule-form{position:static}}@media (width<=700px){.schedule-content{width:calc(100% - 28px)}.schedule-time-grid{grid-template-columns:1fr}.schedule-list article{grid-template-columns:78px minmax(0,1fr);padding:14px}.schedule-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}.schedule-total{width:fit-content;margin:17px auto 0}.schedule-delete-summary{grid-template-columns:1fr}.schedule-delete-summary span+span{border-top:1px solid #e4e7e5;border-left:0}.schedule-dialog-actions{grid-template-columns:1fr}.schedule-trash-list article{flex-direction:column;align-items:flex-start}.schedule-type-fieldset{grid-template-columns:1fr}.schedule-type-lock{grid-column:1}.report-mode-switch{flex-direction:column;align-items:stretch}.report-mode-switch>span{margin:0}.report-mode-switch button{justify-content:center}}.personnel-page{min-height:75vh}.personnel-hero{min-height:180px}.personnel-hero-stats{gap:8px;display:flex}.personnel-hero-stats>span{background:#ffffff0e;border:1px solid #ffffff1f;border-radius:12px;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:2px 7px;min-width:92px;padding:13px 14px;display:grid}.personnel-hero-stats svg{color:#e4ca90;grid-row:1/3}.personnel-hero-stats strong{font-size:22px}.personnel-hero-stats small{color:#aabac3;font-size:9px}.personnel-content{width:min(1220px,100% - 42px);margin:0 auto;padding:28px 0 60px}.personnel-layout{grid-template-columns:350px minmax(0,1fr);align-items:start;gap:18px;display:grid}.personnel-form,.personnel-list-card{background:#fff;border:1px solid #e2e4e2;border-radius:16px;box-shadow:0 10px 35px #112c3e0e}.personnel-form{padding:21px;position:sticky;top:96px}.personnel-form>label{color:#526772;gap:6px;margin-top:13px;font-size:13px;font-weight:600;display:grid}.personnel-form label>span em{color:var(--red)}.personnel-form input,.personnel-form select{color:#2f4a59;background:#fff;border:1px solid #dbe1de;border-radius:9px;width:100%;height:45px;padding:0 11px;font-size:14px}.personnel-form input:disabled{color:#7f8b91;background:#f1f3f2}.personnel-status-note{color:#765f31;background:#fff8e9;border-radius:9px;align-items:flex-start;gap:7px;margin-top:13px;padding:10px;font-size:11px;line-height:1.45;display:flex}.personnel-list-card{overflow:hidden}.personnel-list-head{border-bottom:1px solid #e6e8e6;justify-content:space-between;align-items:center;gap:15px;min-height:84px;padding:16px 20px;display:flex}.personnel-list-head h2{color:var(--navy);margin:2px 0 0;font-size:21px}.personnel-list-head>strong{color:#63757e;font-size:13px}.personnel-password-guidance{color:#2c6d54;background:#eff9f4;border-bottom:1px solid #dcece4;align-items:center;gap:8px;padding:10px 15px;font-size:11px;line-height:1.45;display:flex}.personnel-password-guidance svg{flex:none}.personnel-filters{background:#f7f9f8;grid-template-columns:minmax(180px,1fr) 240px 150px;gap:8px;padding:12px 15px;display:grid}.personnel-filters label{color:#7c8a92;background:#fff;border:1px solid #dfe3e1;border-radius:8px;align-items:center;gap:7px;height:43px;padding:0 10px;display:flex}.personnel-filters input{color:#3f5562;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.personnel-filters select{color:#536671;background:#fff;border:1px solid #dfe3e1;border-radius:8px;min-width:0;height:43px;padding:0 9px;font-size:12px}.personnel-table-wrap{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:clamp(820px,88dvh,1080px);overflow:auto}.personnel-table{border-collapse:collapse;width:100%;min-width:960px}.personnel-table th{z-index:1;color:#718088;text-align:left;background:#fff;border-bottom:1px solid #e5e8e6;height:42px;padding:0 12px;font-size:11px;position:sticky;top:0}.personnel-table td{color:#596b75;border-bottom:1px solid #edf0ee;min-height:58px;padding:10px 12px;font-size:12px}.personnel-table td:first-child{color:#879298;width:65px}.personnel-table td strong{color:#304d5d;font-size:13px}.person-active,.person-inactive{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.person-active{color:#287358;background:#e4f2ec}.person-inactive{color:#9d3442;background:#f8e7e9}.personnel-password-set{color:#1f6c4e;background:#e9f7f0;border:1px solid #bfe0d0;border-radius:9px;gap:3px;min-width:150px;padding:7px 9px;display:inline-grid}.personnel-password-set>span{white-space:nowrap;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.personnel-password-set small{color:#4e806d;font-size:9px;line-height:1.35}.personnel-password-not-set{color:#77868d;white-space:nowrap;background:#f0f3f2;border-radius:8px;padding:5px 8px;font-size:10px;display:inline-flex}.personnel-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.personnel-table td:last-child button{color:#506671;white-space:nowrap;background:#fff;border:1px solid #dce2df;border-radius:8px;align-items:center;gap:5px;min-height:34px;padding:0 9px;font-size:11px;display:inline-flex}.personnel-table td:last-child .password-reset-button{color:#9d3442;background:#fff7f8;border-color:#eccdd1}.personnel-table td:last-child .password-reset-button:disabled{cursor:not-allowed;color:#9ba6aa;opacity:.6;background:#f3f5f4;border-color:#e2e5e3}.password-reset-modal{max-width:530px}.password-reset-seal{background:linear-gradient(145deg,#a93343,#7d2632)}.password-reset-person{text-align:left;border:1px solid #e3e7e5;border-radius:11px;grid-template-columns:145px 1fr;gap:0;margin-top:4px;display:grid;overflow:hidden}.password-reset-person span,.password-reset-person strong{border-bottom:1px solid #e8ebe9;padding:10px 12px;font-size:13px}.password-reset-person span{color:#6b7d86;background:#f5f7f6}.password-reset-person strong{color:#304d5d}.password-reset-person>:nth-last-child(-n+2){border-bottom:0}.password-reset-warning{color:#91313e;text-align:left;background:#fff4f5;border:1px solid #edd0d4;border-radius:10px;align-items:flex-start;gap:8px;margin-top:14px;padding:12px;font-size:12px;line-height:1.55;display:flex}.password-reset-warning svg{flex:none;margin-top:1px}.password-reset-confirm{color:#fff;background:#a93343;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:48px;font-weight:600;display:flex}.password-reset-confirm:disabled{cursor:wait;opacity:.58}@media (width>=921px){.site-header nav{gap:6px}.site-header nav button{font-size:14.4px}}@media (width<=1040px){.personnel-layout{grid-template-columns:1fr}.personnel-form{position:static}.personnel-filters{grid-template-columns:1fr 1fr}.personnel-filters label{grid-column:1/-1}.personnel-table-wrap{max-height:clamp(650px,82dvh,850px)}}@media (width<=700px){.personnel-content{width:calc(100% - 28px)}.personnel-hero-stats{flex-wrap:wrap;justify-content:center;margin-top:18px}.personnel-filters{grid-template-columns:1fr}.personnel-filters label{grid-column:auto}.personnel-table-wrap{max-height:clamp(520px,72dvh,680px)}.password-reset-person{grid-template-columns:1fr}.password-reset-person span,.password-reset-person strong{border-bottom:1px solid #e8ebe9}}.role-card .role-main-title{letter-spacing:-.02em;white-space:nowrap;max-width:100%;font-size:clamp(13px,4.5vw,28px);line-height:1.25}.attendance-logo{object-fit:contain;background:#fff;border-radius:50%;flex:none;display:block}.role-attendance-logo{border:2px solid #c9a35d;width:94px;height:94px;box-shadow:0 9px 24px #102c4129}.header-attendance-logo{border:1px solid #d7bd85;width:50px;height:50px;box-shadow:0 3px 10px #102c411f}.footer-attendance-logo{border:1px solid #d7bd85;width:40px;height:40px}.pdf-attendance-logo{object-fit:cover;border:2px solid #c9a35d;border-radius:50%;width:88px;height:88px;margin:0 auto 11px;display:block}@media (width<=700px){.header-attendance-logo{width:41px;height:41px}.role-attendance-logo{width:82px;height:82px}}.countdown-ring{background:conic-gradient(var(--red) var(--countdown-progress), #f2dfe2 0);border-radius:50%;align-content:center;place-items:center;width:112px;height:112px;display:grid;position:relative;box-shadow:0 9px 25px #a9253526}.countdown-ring:before{content:"";background:#fff;border:1px solid #f0d7da;border-radius:50%;position:absolute;inset:9px}.countdown-ring span,.countdown-ring small{z-index:1;display:block;position:relative}.countdown-ring span{color:var(--red);font:800 34px/1 Manrope,sans-serif}.countdown-ring small{color:#8d777b;margin-top:5px;font-size:11px;font-weight:600}.gateway-expired-card{max-width:560px}.gateway-expired-icon{color:#fff;background:var(--red);border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 15px;display:grid;box-shadow:0 10px 25px #a9253533}.gateway-restart{color:#fff;background:var(--red);border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;height:52px;font-size:16px;font-weight:600;display:flex}@media (width<=700px){.countdown-ring{width:96px;height:96px}.countdown-ring span{font-size:30px}}.leave-landing,.leave-form-page,.leave-lookup-page{background:radial-gradient(circle at 12% 6%,#c9a35d1f,#0000 30%),#f6f4ef;min-height:calc(100vh - 170px);padding:34px 22px 60px}.leave-landing-inner{width:min(1080px,100%);margin:0 auto}.leave-back-link,.leave-form-heading>button{color:#586c78;background:#fff;border:1px solid #dfe3e1;border-radius:9px;align-items:center;gap:7px;margin-bottom:18px;padding:9px 12px;font-size:13px;display:inline-flex}.leave-landing-title{text-align:center;max-width:720px;margin:0 auto 27px}.leave-logo{object-fit:cover;background:#fff;border:2px solid #d5b66f;border-radius:50%;width:82px;height:82px;margin:0 auto 13px}.leave-landing-title h1,.leave-form-heading h1,.leave-lookup-card h1{color:var(--navy);margin:2px 0 7px;font-size:clamp(28px,4vw,42px)}.leave-landing-title>p:last-child,.leave-form-heading>p:last-child,.leave-lookup-card>p{color:#71818a;margin:0;font-size:16px}.admin-time-record-banner{color:#8f2637;background:#fff0f2;border:1px solid #e4b6bd;border-radius:13px;align-items:center;gap:12px;width:min(760px,100%);margin:0 auto 20px;padding:14px 16px;display:flex;box-shadow:0 8px 24px #8f263712}.admin-time-record-banner>svg{flex:none}.admin-time-record-banner>div{gap:2px;display:grid}.admin-time-record-banner strong{font-size:16px}.admin-time-record-banner span{color:#76525a;font-size:13px;line-height:1.45}.leave-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.leave-type-card{border:1px solid color-mix(in srgb, var(--leave-accent) 20%, white);min-height:88px;color:var(--leave-accent);background:linear-gradient(135deg, var(--leave-start), var(--leave-end));text-align:left;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px 17px;transition:transform .18s,box-shadow .18s;display:grid;box-shadow:0 8px 25px #27353d0e}.leave-type-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #27353d1c}.leave-type-card>span{color:#fff;background:var(--leave-accent);border-radius:13px;place-items:center;width:46px;height:46px;display:grid}.leave-type-card strong{font-size:19px}.time-record-special-card>div{gap:4px;min-width:0;display:grid}.time-record-special-card small{color:color-mix(in srgb, var(--leave-accent) 74%, #42545e);font-size:13px;line-height:1.35}.leave-admin-entry{--leave-start:#16364b;--leave-end:#0c293b;--leave-accent:#e7c37b;color:#fff;border-color:#28495d}.leave-admin-entry>span{color:#17364a;background:#e6c580}.leave-form-shell,.leave-success-card,.leave-lookup-card{background:#fff;border:1px solid #e0e4e1;border-radius:20px;width:min(780px,100%);margin:0 auto;padding:30px;box-shadow:0 18px 50px #112c3e17}.leave-form-heading{text-align:center}.leave-form-heading>button{margin:0 0 8px;display:flex}.leave-live-datetime{text-align:left;background:#dbe2de;border:1px solid #dbe2de;border-radius:14px;grid-template-columns:1.45fr .75fr;gap:1px;margin:10px 0 22px;display:grid;overflow:hidden;box-shadow:0 8px 24px #17364a12}.leave-live-datetime>div{color:#294858;background:#f7faf8;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;padding:13px 15px;display:grid}.leave-live-datetime svg{color:#a92535;grid-row:1/3}.leave-live-datetime span{color:#78878e;font-size:11px;font-weight:600}.leave-live-datetime strong{color:var(--navy);margin-top:2px;font-size:15px;line-height:1.35}.leave-live-datetime .digital-clock{color:#a92535;letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums;font:800 20px/1.2 Manrope,Sarabun,sans-serif}.leave-form-heading>span{border-radius:18px;place-items:center;width:66px;height:66px;margin:0 auto 12px;display:grid}.leave-error,.leave-database-warning,.leave-no-data{color:#9d2939;background:#fbeaec;border:1px solid #efc5cb;border-radius:10px;align-items:flex-start;gap:9px;margin:16px 0;padding:13px 15px;font-size:14px;line-height:1.5;display:flex}.leave-entry-form{gap:17px;margin-top:24px;display:grid}.leave-entry-form label,.leave-lookup-card form label{color:#455e6c;gap:7px;font-size:15px;font-weight:600;display:grid}.leave-entry-form label>span,.leave-lookup-card form label>span{align-items:center;gap:7px;display:flex}.leave-entry-form select,.leave-entry-form input,.leave-lookup-card input{color:#314d5c;background:#fff;border:1px solid #d9e0dd;border-radius:10px;width:100%;height:54px;padding:0 13px;font-size:16px}.leave-entry-form select:disabled{color:#9aa5aa;background:#f2f4f3}.leave-date-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.leave-date-grid.one-date{grid-template-columns:1fr}.thai-calendar{background:#fff;border:1px solid #dce3df;border-radius:15px;overflow:hidden;box-shadow:0 8px 25px #17364a0e}.thai-calendar-heading{color:#385663;background:#f5f8f6;border-bottom:1px solid #e5e9e6;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.thai-calendar-heading>div{align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.thai-calendar-heading svg{color:#a92535}.thai-calendar-heading>strong{color:#7a8990;font-size:12px}.thai-calendar-month{grid-template-columns:42px 1fr 42px;align-items:center;gap:9px;padding:13px 14px 8px;display:grid}.thai-calendar-month strong{color:var(--navy);text-align:center;font-size:19px}.thai-calendar-month button{color:#49616d;background:#fff;border:1px solid #dce2df;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.thai-calendar-month button:hover{color:#fff;border-color:var(--navy);background:var(--navy)}.thai-calendar-weekdays,.thai-calendar-days{grid-template-columns:repeat(7,1fr);gap:5px;padding:0 14px;display:grid}.thai-calendar-weekdays{padding-top:4px;padding-bottom:5px}.thai-calendar-weekdays span{color:#657983;place-items:center;min-height:28px;font-size:12px;font-weight:700;display:grid}.thai-calendar-weekdays .weekend{color:#b24b59}.thai-calendar-days{padding-bottom:13px}.thai-calendar-days button,.thai-calendar-days .calendar-empty{border-radius:10px;min-height:42px}.thai-calendar-days button{color:#304e5d;background:#fff;border:1px solid #e1e6e3;font:700 14px/1 Manrope,Sarabun,sans-serif;position:relative}.thai-calendar-days .calendar-day-number{border:2px solid #0000;border-radius:50%;place-items:center;width:30px;height:30px;margin:0 auto;display:grid}.thai-calendar-days button:hover:not(:disabled){background:#eef5f7;border-color:#9fb7c2}.thai-calendar-days button.today{box-shadow:inset 0 0 0 2px #d3ad58}.thai-calendar-days button.selected{color:#fff;background:#a92535;border-color:#a92535;box-shadow:0 5px 14px #a925352e}.thai-calendar-days button.recorded .calendar-day-number{color:#a92535;background:#fff;border-color:#c82136;box-shadow:0 0 0 2px #c821361a}.thai-calendar-days button.selected.recorded .calendar-day-number{color:#a92535;background:#fff;border-color:#c82136}.thai-calendar-days button.weekend{color:#bb9096;cursor:not-allowed;opacity:.76;background:#faf2f3;border-color:#f0e1e3}.thai-calendar-days button.weekend:not(:disabled){cursor:pointer;opacity:1}.thai-calendar-legend{color:#72828a;background:#fafcfb;border-top:1px solid #edf0ee;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 18px;padding:9px 13px 12px;font-size:11px;display:flex}.thai-calendar-legend span{align-items:center;gap:6px;display:flex}.thai-calendar-legend i{background:#fff;border:1px solid #dce2df;border-radius:4px;width:13px;height:13px;display:inline-block}.thai-calendar-legend i.selected{background:#a92535;border-color:#a92535}.thai-calendar-legend i.recorded{background:#fff;border:2px solid #c82136;border-radius:50%}.thai-calendar-legend i.today{box-shadow:inset 0 0 0 2px #d3ad58}.thai-calendar-legend i.weekend{background:#faeef0;border-color:#f0e1e3}.leave-date-guidance{color:#695a34;background:#fff8df;border-left:4px solid #d3ad58;border-radius:7px;margin:-5px 0 0;padding:11px 13px;font-size:13px;line-height:1.55}.leave-selected-days{background:#fbfcfb;border:1px solid #dfe5e1;border-radius:12px;overflow:hidden}.leave-selected-days>div{color:#335362;background:#f2f6f4;border-bottom:1px solid #e6eae7;justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.leave-selected-days>div strong{font-size:14px}.leave-selected-days>div span{color:#73838b;font-size:12px}.leave-selected-days ul{gap:7px;margin:0;padding:11px;list-style:none;display:grid}.leave-selected-days li{color:#3d5865;background:#fff;border:1px solid #e0e5e2;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:7px 8px 7px 12px;font-size:14px;display:flex}.leave-selected-days li button{color:#9d2939;background:#fbeaec;border:0;border-radius:7px;place-items:center;width:34px;height:30px;display:grid}.confirm-data .confirm-dates{grid-column:1/-1}.leave-form-preview{color:#708089;background:#f5f7f6;border-radius:11px;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px 13px;padding:14px;font-size:13px;display:grid}.leave-form-preview strong{color:#294655;font-size:16px}.leave-submit-button,.leave-success-card button,.leave-lookup-card form>button,.leave-lookup-exit{color:#fff;background:var(--red);border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:54px;font-size:17px;font-weight:600;display:flex}.leave-confirm-modal{max-width:650px}.leave-success-card{text-align:center}.leave-success-card>span,.lookup-icon{color:#fff;background:#2d7a5f;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto 14px;display:grid}.leave-success-card h1{color:var(--navy)}.leave-success-card p{color:#6d7c85;font-size:16px}.leave-success-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}.leave-success-card button{width:100%;margin-top:0}.leave-success-card .leave-success-main{color:#fff;background:var(--navy)}.leave-success-card .leave-success-exit{color:#405a68;background:#f5f7f6;border:1px solid #dce2df}.leave-lookup-card{text-align:center}.lookup-icon{background:var(--navy)}.leave-lookup-card form{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:15px;margin-top:24px;display:grid}.leave-lookup-card form>button{height:54px}.lookup-personnel-field,.lookup-access-status,.lookup-keypad,.lookup-password-guidance,.lookup-submit{grid-column:1/-1}.lookup-keypad{width:100%}.lookup-access-status{color:#59707c;text-align:center;background:#f5f8f8;border:1px solid #d9e2e5;border-radius:10px;justify-content:center;align-items:center;min-height:46px;padding:10px 14px;font-size:15px;font-weight:600;display:flex}.lookup-access-status.setup{color:#775315;background:#fff8e7;border-color:#ead6a7}.lookup-access-status.returning{color:#1f6354;background:#edf9f5;border-color:#b9ddd3}.lookup-password-guidance{color:#657b85;text-align:center;justify-content:center;align-items:center;gap:7px;font-size:14px;display:flex}.leave-lookup-notice{color:#1f6354;background:#edf9f5;border:1px solid #b9ddd3;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:15px;padding:13px 15px;font-size:15px;font-weight:600;display:flex}.leave-person-summary{text-align:left;background:#e1e5e2;border:1px solid #e1e5e2;border-radius:11px;grid-template-columns:1.2fr .7fr 1.4fr;gap:1px;margin-top:23px;display:grid;overflow:hidden}.leave-person-summary>div{background:#f8faf9;padding:13px}.leave-person-summary span,.leave-person-summary strong{display:block}.leave-person-summary span{color:#819098;font-size:11px}.leave-person-summary strong{color:#304d5d;margin-top:4px;font-size:14px}.leave-history-table-wrap,.leave-admin-table-wrap{margin-top:15px;overflow-x:auto}.leave-history-table-wrap table,.leave-admin-table-wrap table{border-collapse:collapse;text-align:left;width:100%}.leave-history-table-wrap th,.leave-history-table-wrap td,.leave-admin-table-wrap th,.leave-admin-table-wrap td{border:1px solid #e0e4e2;padding:11px 12px;font-size:13px}.leave-history-table-wrap th,.leave-admin-table-wrap th{color:#536875;background:#f1f4f2}.leave-history-table-wrap th:last-child,.leave-history-table-wrap td:last-child{text-align:center}.leave-empty-notice{color:#8b303d;background:#f9e9eb;border-radius:10px;margin-top:16px;padding:17px;font-size:14px}.leave-lookup-exit{color:#405a68;background:#f5f7f6;border:1px solid #dce2df;width:100%;margin-top:19px}.leave-admin-content{width:min(1220px,100% - 42px);margin:0 auto;padding:27px 0 60px}.daily-leave-report{background:linear-gradient(145deg,#f7fbfd,#eef7fa);border:1px solid #d6e4ea;border-radius:18px;margin-bottom:22px;padding:20px;box-shadow:0 12px 34px #1b496014}.daily-leave-heading{align-items:center;gap:13px;margin-bottom:18px;display:flex}.daily-leave-heading>span{color:#fff;background:linear-gradient(145deg,#527f98,#315f77);border-radius:14px;flex:none;place-items:center;width:49px;height:49px;display:grid;box-shadow:0 8px 18px #315f7733}.daily-leave-heading h2{color:var(--navy);margin:0;font-size:25px}.daily-leave-heading p:not(.section-kicker){color:#6a7d87;margin:4px 0 0;font-size:13px}.daily-leave-heading>strong{color:#315f77;white-space:nowrap;background:#e7f3f7;border:1px solid #cadde4;border-radius:999px;align-items:center;gap:7px;margin-left:auto;padding:9px 13px;font-size:13px;display:flex}.daily-leave-source-warning{color:#94313f;background:#fff2f3;border:1px solid #efc8ce;border-radius:10px;align-items:center;gap:8px;margin:-5px 0 14px;padding:10px 12px;font-size:12px;display:flex}.daily-leave-layout{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);align-items:start;gap:16px;display:grid}.daily-leave-calendar .thai-calendar{background:#fff;margin:0}.daily-leave-results{background:#fff;border:1px solid #d8e3e5;border-radius:15px;overflow:hidden}.daily-leave-results-heading{background:#f8fbfb;border-bottom:1px solid #e2e8e8;justify-content:space-between;align-items:center;gap:12px;padding:16px 17px;display:flex}.daily-leave-results-heading>div{gap:2px;display:grid}.daily-leave-results-heading>div span{color:#74848c;font-size:12px}.daily-leave-results-heading>div strong{color:var(--navy);font-size:19px}.daily-leave-results-heading>span{color:#fff;text-align:center;background:#4a7a8f;border-radius:999px;min-width:88px;padding:6px 10px;font-size:12px;font-weight:700}.daily-leave-actions{grid-template-columns:1fr 1fr;gap:9px;padding:12px 14px 0;display:grid}.daily-leave-actions button{border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:13px;font-weight:700;display:flex}.daily-leave-actions .leave-refresh-button{color:#536a75;background:#fff;border:1px solid #d8e2e3}.daily-leave-download{color:#fff;background:#315f77;border:0}.daily-leave-actions button:disabled{cursor:not-allowed;opacity:.4}.daily-leave-table-wrap{border-top:1px solid #e2e7e6;max-height:520px;margin-top:12px;overflow:auto}.daily-leave-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:760px}.daily-leave-table-wrap th,.daily-leave-table-wrap td{color:#4f6672;border-bottom:1px solid #e5e9e7;padding:10px 11px;font-size:12px}.daily-leave-table-wrap th{z-index:1;color:#627680;background:#f0f5f5;font-size:11px;position:sticky;top:0}.daily-leave-table-wrap th:first-child,.daily-leave-table-wrap td:first-child,.daily-leave-table-wrap th:nth-child(3),.daily-leave-table-wrap td:nth-child(3),.daily-leave-table-wrap th:last-child,.daily-leave-table-wrap td:last-child{text-align:center}.daily-leave-table-wrap td strong{color:#294a5b}.daily-leave-status{color:#66508f;background:#f2edfb;border:1px solid #d8cdf0;border-radius:999px;justify-content:center;align-items:center;min-width:108px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.daily-leave-status.late{color:#9d2c3a;background:#fff0f2;border-color:#efc2c8}.daily-leave-empty{color:#9a3040;text-align:center;background:#fff2f3;border:1px solid #edc9ce;border-radius:12px;place-items:center;gap:5px;margin:13px;padding:35px 20px;display:grid}.daily-leave-empty strong{font-size:15px}.daily-leave-empty span{color:#96717a;font-size:12px}.leave-database-warning strong,.leave-database-warning span{display:block}.leave-database-warning strong{font-size:15px}.leave-database-warning span{margin-top:3px}.admin-history-inspector{background:linear-gradient(145deg,#fff,#f6f9f8);border:1px solid #d9e2e5;border-radius:18px;margin-bottom:28px;padding:20px;box-shadow:0 10px 32px #112c3e12}.admin-history-heading{grid-template-columns:48px 1fr auto;align-items:center;gap:14px;display:grid}.admin-history-heading>span{color:#fff;background:linear-gradient(145deg, var(--navy), #2c6078);border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.admin-history-heading h2{color:var(--navy);margin:0;font-size:23px}.admin-history-heading p:not(.section-kicker){color:#6d7f88;margin:3px 0 0;font-size:14px}.admin-history-heading>strong{color:#216452;white-space:nowrap;background:#edf8f4;border:1px solid #c9ded8;border-radius:999px;align-items:center;gap:6px;padding:8px 11px;font-size:12px;display:flex}.admin-history-form{grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:12px;margin-top:18px;display:grid}.admin-history-form label{color:#526a76;gap:7px;font-size:14px;font-weight:700;display:grid}.admin-history-form label>span{align-items:center;gap:6px;display:flex}.admin-history-form input{width:100%;height:50px;color:var(--navy);font:inherit;background:#fff;border:1px solid #ced9dc;border-radius:11px;padding:0 14px;font-size:16px}.admin-history-form input:focus{border-color:#397893;outline:3px solid #1c5a7421}.admin-history-form button{color:#fff;background:var(--navy);border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;height:50px;font-size:15px;font-weight:700;display:flex}.admin-history-form button:disabled{cursor:wait;opacity:.55}.admin-history-guidance{color:#637882;align-items:center;gap:7px;margin-top:11px;font-size:13px;display:flex}.admin-history-inspector>.leave-error{margin-top:13px}.admin-history-source-warning,.calendar-record-warning{color:#972f3e;background:#fff1f3;border:1px solid #edc4ca;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:13px;display:flex}.admin-history-result{background:#fff;border:1px solid #dfe5e3;border-radius:13px;margin-top:15px;padding:15px;position:relative}.admin-history-result .leave-person-summary{margin-top:0;margin-right:42px}.admin-history-close{z-index:1;color:#617680;background:#edf1ef;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:15px;right:15px}.admin-history-result .leave-history-table-wrap{margin-bottom:0}.admin-history-complete-summary{color:#286856;background:#eef8f5;border:1px solid #c8dfd8;border-radius:10px;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;font-size:13px;display:flex}.admin-history-complete-summary strong{color:#1f594b;margin-left:auto;font-size:14px}.admin-history-sections{gap:14px;margin-top:14px;display:grid}.admin-history-data-section{background:#fff;border:1px solid #dfe5e3;border-radius:12px;overflow:hidden}.admin-history-data-section.absence{border-color:#edc9ce}.admin-history-data-section.late{border-color:#ecd8b7}.admin-history-data-heading{color:#315767;background:#edf5f7;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;display:flex}.admin-history-data-section.absence .admin-history-data-heading{color:#923646;background:#fff0f2}.admin-history-data-section.late .admin-history-data-heading{color:#805e2c;background:#fff5e5}.admin-history-data-heading h3{margin:0;font-size:16px}.admin-history-data-heading span{color:inherit;white-space:nowrap;background:#ffffffbf;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700}.admin-history-data-section .leave-empty-notice{margin:10px}.admin-history-data-section .leave-history-table-wrap{border:0;border-radius:0}.calendar-record-warning{margin-top:-3px}.leave-admin-toolbar{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.leave-admin-toolbar h2,.leave-admin-table-card h2{color:var(--navy);margin:0;font-size:22px}.leave-admin-toolbar-actions{align-items:center;gap:9px;display:flex}.leave-admin-toolbar-actions>button{border:1px solid #dce2df;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:0 14px;font-weight:600;display:flex}.leave-refresh-button{color:#536975;background:#fff}.leave-download-all{color:#fff;background:var(--navy);box-shadow:0 6px 18px #17364a29;border-color:var(--navy)!important}.leave-download-all>span{text-align:left;gap:1px;line-height:1.05;display:grid}.leave-download-all small{color:#d9e4e9;font-size:10px;font-weight:400}.leave-admin-toolbar-actions>button:disabled{cursor:not-allowed;opacity:.42}.leave-admin-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.leave-admin-types article{border:1px solid color-mix(in srgb, var(--leave-accent) 22%, white);background:linear-gradient(135deg, var(--leave-start), var(--leave-end));border-radius:14px;grid-template-columns:1fr 170px;gap:9px;padding:12px;display:grid}.leave-admin-types article.active{box-shadow:0 0 0 3px color-mix(in srgb, var(--leave-accent) 18%, transparent)}.leave-admin-select{color:var(--leave-accent);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.leave-admin-select span{font-size:17px;font-weight:700}.leave-admin-select strong{font-size:12px}.leave-admin-download{color:#fff;background:var(--leave-accent);border:0;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:12px;font-weight:600;display:flex}.leave-admin-download:disabled{cursor:not-allowed;opacity:.38}.leave-admin-types article>small{color:#a22c3c;grid-column:1/-1;font-size:11px}.leave-admin-table-card{background:#fff;border:1px solid #e1e4e2;border-radius:16px;margin-top:18px;overflow:hidden;box-shadow:0 9px 30px #112c3e0d}.leave-admin-table-card>div:first-child{border-bottom:1px solid #e5e8e6;padding:17px 20px;position:relative}.leave-admin-table-card>div:first-child>span{color:#72828b;font-size:13px;position:absolute;bottom:19px;right:20px}.leave-admin-table-wrap{margin-top:0}.leave-admin-table-wrap table{min-width:980px}.leave-admin-table-wrap th:first-child,.leave-admin-table-wrap td:first-child,.leave-admin-table-wrap th:nth-child(3),.leave-admin-table-wrap td:nth-child(3),.leave-admin-table-wrap th:last-child,.leave-admin-table-wrap td:last-child{text-align:center}.leave-pdf-group{break-inside:avoid;page-break-inside:avoid;margin-top:14px}.leave-pdf-group h3{color:#fff;background:#17364a;justify-content:space-between;margin:0;padding:8px 10px;font-size:13px;display:flex}.leave-pdf-group h3 span{font-weight:400}.leave-pdf-group table{border-collapse:collapse;width:100%;font-family:Sarabun,sans-serif}.leave-pdf-group th,.leave-pdf-group td{border:1px solid #d9dddb;padding:7px;font-size:10px}.leave-pdf-group th{background:#f1f2f0}.leave-pdf-group th:first-child,.leave-pdf-group td:first-child,.leave-pdf-group th:nth-child(3),.leave-pdf-group td:nth-child(3),.leave-pdf-group th:last-child,.leave-pdf-group td:last-child{text-align:center}.leave-pdf-updated{color:#604f12;text-align:center;background:#fff4bd;border:1px solid #eadb8d;border-radius:3px;margin:9px 0 2px;padding:8px 10px;font-family:Sarabun,sans-serif;font-size:10px;font-weight:600}.absence-hero{background:linear-gradient(135deg,#2d0d15,#761e2b 62%,#a42b3b)}.absence-admin-content{width:min(1280px,100% - 42px);margin:0 auto;padding:26px 0 65px}.absence-alert-banner{color:#fff;text-align:center;background:linear-gradient(135deg,#982737,#b33241);border:1px solid #a92334;border-radius:13px;justify-content:center;align-items:center;gap:10px;margin-bottom:16px;padding:16px 20px;display:flex;box-shadow:0 9px 25px #971f3133}.absence-alert-banner strong{font-size:20px}.absence-admin-content>.leave-live-datetime{margin-bottom:17px}.absence-layout{grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);align-items:start;gap:18px;margin-top:18px;display:grid}.absence-entry-card,.absence-daily-card{background:#fff;border:1px solid #dee4e1;border-radius:18px;padding:20px;box-shadow:0 10px 32px #112c3e12}.absence-card-heading{align-items:center;gap:11px;margin-bottom:17px;display:flex}.absence-card-heading>span{color:#fff;background:var(--navy);border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.absence-card-heading h2{color:var(--navy);margin:0;font-size:22px}.absence-entry-card>label{color:#526a76;gap:7px;margin-bottom:14px;font-size:15px;font-weight:700;display:grid}.absence-entry-card>label>span{align-items:center;gap:7px;display:flex}.absence-entry-card select{width:100%;height:52px;color:var(--navy);font:inherit;background:#fff;border:1px solid #d4dddf;border-radius:11px;padding:0 13px;font-size:15px}.absence-entry-card select:disabled{color:#8c999f;background:#f1f4f3}.absence-entry-card .thai-calendar{margin-top:18px}.absence-selected-days{margin-top:15px}.absence-review-button{color:#fff;background:linear-gradient(135deg,#9d2938,#b93b49);border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:54px;margin-top:16px;font-size:16px;font-weight:700;display:flex;box-shadow:0 8px 20px #9d293833}.absence-review-button:disabled{cursor:not-allowed;opacity:.42}.absence-date-control{grid-template-columns:44px 1fr 44px;align-items:end;gap:8px;display:grid}.absence-date-control>button{color:#486474;background:#f6f8f7;border:1px solid #d6dfe0;border-radius:10px;place-items:center;height:48px;display:grid}.absence-date-control label{color:#607681;text-align:center;gap:5px;font-size:12px;font-weight:700;display:grid}.absence-date-control input{height:48px;color:var(--navy);font:inherit;text-align:center;background:#fff;border:1px solid #d3dcde;border-radius:10px;padding:0 12px;font-size:15px}.absence-report-title{background:#fff5f6;border:1px solid #eed0d4;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:13px 15px;display:flex}.absence-report-title>div{gap:2px;display:grid}.absence-report-title strong{color:#7f2431;font-size:17px}.absence-report-title div span{color:#7c6a6d;font-size:12px}.absence-report-title>span{color:#fff;text-align:center;background:#a72d3d;border-radius:999px;min-width:150px;padding:7px 10px;font-size:13px;font-weight:700}.absence-daily-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;display:grid}.absence-daily-actions button{border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:46px;font-size:14px;font-weight:700;display:flex}.absence-refresh{color:#536b77;background:#fff;border:1px solid #d6dfe0}.absence-download{color:#fff;background:var(--navy);border:0}.absence-daily-actions button:disabled{cursor:not-allowed;opacity:.42}.absence-report-source{color:#71818a;text-align:center;margin:10px 2px 0;font-size:11.5px;line-height:1.5}.absence-table-wrap{border:1px solid #e0e5e3;border-radius:11px;margin-top:14px;overflow-x:auto}.absence-table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:980px}.absence-table-wrap th,.absence-table-wrap td{color:#425c6a;border-bottom:1px solid #e2e6e4;padding:10px;font-size:12px}.absence-table-wrap th{color:#667983;background:#f1f4f2;font-size:11px}.absence-table-wrap th:first-child,.absence-table-wrap td:first-child,.absence-table-wrap th:nth-child(4),.absence-table-wrap td:nth-child(4),.absence-table-wrap th:nth-child(5),.absence-table-wrap td:nth-child(5){text-align:center}.absence-row-actions{gap:6px;display:flex}.absence-row-actions button{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:34px;padding:0 9px;font-size:10.5px;font-weight:700;display:flex}.mark-sick-button{color:#236957;background:#edf8f4;border:1px solid #b7dacf}.cancel-absence-button{color:#9b2b3a;background:#fff1f2;border:1px solid #e7c8cc}.restore-normal-button{color:#286753;background:#eef8f4;border:1px solid #bdd8ce}.absence-record-badge{color:#912939;background:#fde8eb;border-radius:999px;justify-content:center;align-items:center;min-width:150px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.absence-empty{color:#34715f;text-align:center;background:#f2faf7;border:1px dashed #cbdcd6;border-radius:12px;place-items:center;gap:4px;margin-top:14px;padding:32px 18px;display:grid}.absence-empty strong{font-size:15px}.absence-empty span{color:#72847e;font-size:12px}.absence-confirm-seal,.absence-resolve-seal{background:#a82d3d}.absence-cancel-seal{background:#667781}.restore-normal-seal{background:#2d6d5b}.absence-action-summary{color:#657883;background:#f7f9f8;border:1px solid #e0e5e3;border-radius:10px;gap:4px;margin:15px 0;padding:14px;display:grid}.absence-action-summary strong{color:var(--navy);font-size:17px}.absence-action-summary span{font-size:13px}.absence-resolve-confirm,.absence-cancel-confirm,.restore-normal-confirm{color:#fff;border:0;border-radius:10px;width:100%;min-height:50px;font-weight:700}.absence-resolve-confirm{background:#246c59}.absence-cancel-confirm{background:#a32c3b}.restore-normal-confirm{background:#2d6d5b}.absence-primary-confirm{background:#a72d3d}.absence-pdf-report{font-family:Sarabun,sans-serif}.absence-pdf-group{break-inside:auto;page-break-inside:auto;margin-top:14px}.absence-pdf-group h3{color:#fff;background:#8f2635;justify-content:space-between;margin:0;padding:8px 10px;font-size:13px;display:flex}.absence-pdf-group h3,.absence-pdf-group thead{break-after:avoid;page-break-after:avoid}.absence-pdf-group h3 span{font-weight:400}.absence-pdf-group table{border-collapse:collapse;width:100%}.absence-pdf-group th,.absence-pdf-group td{border:1px solid #d9dddb;padding:7px;font-size:10px}.absence-pdf-group th{background:#f5eeee}.absence-pdf-group th:first-child,.absence-pdf-group td:first-child,.absence-pdf-group th:nth-child(3),.absence-pdf-group td:nth-child(3),.absence-pdf-group th:nth-child(4),.absence-pdf-group td:nth-child(4),.absence-pdf-group th:last-child,.absence-pdf-group td:last-child{text-align:center}.late-hero{background:linear-gradient(135deg,#3c2c0d,#7a5a18 62%,#a47a27)}.late-alert-banner{color:#fff9e8;background:linear-gradient(135deg,#8b651d,#b18732);border-color:#977126;box-shadow:0 9px 25px #86611a38}.late-confirm-seal{background:#9a7328}.late-primary-confirm,.late-review-button{background:linear-gradient(135deg,#87621d,#ac8432);box-shadow:0 8px 20px #86611d38}.late-report-title{background:#fff9e9;border-color:#ead9ad}.late-report-title strong{color:#77591e}.late-report-title div span{color:#796d54}.late-report-title>span{background:#9a7328}.late-record-badge{color:#765715;background:#fff0bd;border-radius:999px;justify-content:center;align-items:center;min-width:48px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.late-empty{color:#765715;background:#fffaf0;border-color:#ead9ad}.late-pdf-group h3{background:#8b681f}.late-pdf-group th{background:#fbf6e8}.pdf-action-backdrop{z-index:140;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#051824ad;place-items:center;padding:18px;animation:.18s fadeIn;display:grid;position:fixed;inset:0}.pdf-preparing-card,.pdf-action-dialog{background:#fff;border:1px solid #ffffff94;border-radius:22px;width:min(560px,100%);box-shadow:0 34px 90px #04172452}.pdf-preparing-card{color:#60747e;text-align:center;padding:34px 26px}.pdf-preparing-card h2{color:var(--navy);margin:14px 0 5px;font-size:23px}.pdf-preparing-card p{margin:0;font-size:14px}.pdf-action-dialog{color:#667983;text-align:center;padding:29px;animation:.22s modalIn;position:relative}.pdf-action-close{color:#6e7f87;background:#f0f3f1;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:14px;right:14px}.pdf-action-close:disabled{opacity:.45}.pdf-action-icon{color:#fff;background:linear-gradient(145deg, var(--navy), #245671);border-radius:19px;place-items:center;width:68px;height:68px;margin:0 auto 13px;display:grid;box-shadow:0 12px 25px #17364a33}.pdf-action-dialog .section-kicker{color:#a92535;margin-bottom:4px}.pdf-action-dialog h2{color:var(--navy);margin:0;font-size:25px}.pdf-action-dialog>p:not(.section-kicker){margin:7px auto 18px;font-size:14px;line-height:1.55}.pdf-file-summary{color:#527080;text-align:left;background:#f7f9f8;border:1px solid #e0e5e2;border-radius:11px;align-items:center;gap:11px;padding:12px 14px;display:flex}.pdf-file-summary>span{gap:2px;min-width:0;display:grid}.pdf-file-summary strong{color:#294858;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.pdf-file-summary small{color:#86939a;font-size:11px}.pdf-action-buttons{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.pdf-action-buttons button{border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:68px;padding:10px 13px;font-family:inherit;font-weight:600;display:flex}.pdf-action-buttons button>span{text-align:left;gap:2px;display:grid}.pdf-action-buttons button strong,.pdf-action-buttons button small{display:block}.pdf-action-buttons button strong{font-size:15px}.pdf-action-buttons button small{font-size:10px;font-weight:400}.pdf-share-button{color:#fff;background:#2c8063;border:1px solid #2c8063;box-shadow:0 7px 18px #2c80632e}.pdf-share-button small{color:#dff3eb}.pdf-save-button{color:#fff;border:1px solid var(--navy);background:var(--navy);box-shadow:0 7px 18px #17364a2e}.pdf-save-button small{color:#dce7ec}.pdf-action-buttons button:disabled{cursor:not-allowed;box-shadow:none;opacity:.42}.pdf-share-note,.pdf-share-error{text-align:left;border-radius:9px;margin-top:12px;padding:10px 12px;font-size:12px;line-height:1.5}.pdf-share-note{color:#6d5a24;background:#fff7d4;border:1px solid #eadb8d}.pdf-share-error{color:#992d3c;background:#fbeaec;border:1px solid #efc5cb}.pdf-action-spinner{animation:.9s linear infinite pdfSpin}@keyframes pdfSpin{to{transform:rotate(360deg)}}.report-table{min-width:900px}.report-table th:first-child,.report-table td:first-child,.report-table th:nth-child(3),.report-table td:nth-child(3),.report-table th:nth-child(5),.report-table td:nth-child(5),.report-table th:nth-child(6),.report-table td:nth-child(6){text-align:center}.pdf-group th:nth-child(3),.pdf-group td:nth-child(3){text-align:center;width:84px}.pdf-group th:nth-child(4),.pdf-group td:nth-child(4){text-align:center;width:90px}.pdf-group th:nth-child(5),.pdf-group td:nth-child(5){text-align:center;width:70px}@media (width<=900px){.leave-type-grid,.leave-admin-types,.absence-layout,.daily-leave-layout,.leave-person-summary{grid-template-columns:1fr}}@media (width<=700px){.role-usage-counter{padding:12px}.role-usage-counter>span{font-size:14px}.role-usage-counter>strong{font-size:28px}.leave-landing,.leave-form-page,.leave-lookup-page{padding:22px 14px 45px}.leave-form-shell,.leave-success-card,.leave-lookup-card{padding:22px 16px}.leave-type-card{min-height:80px}.leave-type-card strong{font-size:17px}.leave-date-grid,.leave-lookup-card form{grid-template-columns:1fr}.leave-form-preview{grid-template-columns:auto 1fr}.leave-admin-content{width:calc(100% - 28px)}.daily-leave-report{padding:16px}.daily-leave-heading{flex-wrap:wrap;align-items:flex-start}.daily-leave-heading>strong{justify-content:center;width:100%;margin-left:0}.daily-leave-heading h2{font-size:22px}.daily-leave-actions{grid-template-columns:1fr}.absence-admin-content{width:calc(100% - 28px)}.absence-alert-banner{text-align:left;align-items:flex-start}.absence-alert-banner strong{font-size:17px}.absence-entry-card,.absence-daily-card{padding:16px}.absence-daily-actions{grid-template-columns:1fr}.absence-row-actions{flex-direction:column;align-items:stretch}.admin-history-inspector{padding:16px}.admin-history-heading{grid-template-columns:42px 1fr;align-items:start}.admin-history-heading>span{border-radius:12px;width:42px;height:42px}.admin-history-heading>strong{grid-column:1/-1;width:fit-content}.admin-history-form{grid-template-columns:1fr}.admin-history-guidance{align-items:flex-start}.admin-history-result .leave-person-summary{margin-right:0;padding-top:42px}.leave-admin-types article{grid-template-columns:1fr}.leave-admin-toolbar{align-items:stretch;gap:14px}.leave-admin-toolbar,.leave-admin-toolbar-actions{flex-direction:column}.leave-admin-toolbar-actions>button{width:100%}.leave-success-actions,.leave-live-datetime{grid-template-columns:1fr}.leave-live-datetime .digital-clock{font-size:22px}.thai-calendar-heading{flex-direction:column;align-items:flex-start}.thai-calendar-weekdays,.thai-calendar-days{gap:3px;padding-left:8px;padding-right:8px}.thai-calendar-days button,.thai-calendar-days .calendar-empty{border-radius:8px;min-height:38px}.pdf-action-dialog{padding:25px 16px 18px}.pdf-action-dialog h2{font-size:22px}.pdf-action-buttons{grid-template-columns:1fr}.pdf-action-buttons button{min-height:62px}}.gateway-network-alert{color:#8e2c39;text-align:left;background:#fff0f2;border:1px solid #e6b9bf;border-radius:12px;align-items:flex-start;gap:10px;margin:-4px 0 16px;padding:12px 14px;display:flex}.gateway-network-alert svg{flex:none;margin-top:2px}.gateway-network-alert span,.gateway-network-alert strong,.gateway-network-alert small{display:block}.gateway-network-alert strong{font-size:15px}.gateway-network-alert small{color:#895c63;margin-top:2px;font-size:12px;line-height:1.45}.global-offline-banner{color:#fff;text-align:center;background:linear-gradient(135deg,#982737,#b33241);justify-content:center;align-items:center;gap:9px;min-height:48px;padding:9px 20px;font-size:14px;line-height:1.45;display:flex;box-shadow:0 7px 18px #971f312e}.global-offline-banner svg{flex:none}.global-database-banner{text-align:center;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:9px max(18px,50vw - 590px);font-size:13px;line-height:1.45;display:flex}.global-database-banner.checking{color:#705422;background:#fff6df;border-bottom:1px solid #ead6a9}.global-database-banner.unavailable{color:#fff;background:linear-gradient(135deg,#8d2937,#ae3545);box-shadow:0 7px 18px #971f312e}.global-database-banner svg{flex:none}.global-database-banner button{color:#fff;background:#ffffff1f;border:1px solid #ffffff8c;border-radius:9px;justify-content:center;align-items:center;gap:5px;min-height:34px;margin-left:8px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}.admin-session-warning{z-index:24;color:#742633;background:linear-gradient(135deg,#fff1f3,#ffe8eb);border-bottom:1px solid #e3b9c0;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:62px;padding:9px max(18px,50vw - 590px);display:grid;position:sticky;top:0;box-shadow:0 8px 24px #8122301f}.admin-session-warning>span{color:#fff;background:#9f3040;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.admin-session-warning div{gap:2px;display:grid}.admin-session-warning strong{font-size:14px}.admin-session-warning small{color:#82545b;font-size:11px}.admin-session-warning time{color:#8f2637;text-align:center;min-width:70px;font:800 20px/1 Manrope,monospace}.admin-session-warning button{color:#fff;background:#8f2637;border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:12px;font-weight:700;display:inline-flex}.pulse-dot.pulse-offline{background:#e26b78;box-shadow:0 0 0 4px #e26b781f}.footer-version{color:#f0d79f;border:1px solid #f0d79f4d;border-radius:999px;width:fit-content;margin-top:6px;padding:3px 7px;font:700 8px/1.2 Manrope,sans-serif;display:inline-flex}.system-info-page{background:radial-gradient(circle at 90% 0,#c9a35d24,#0000 28%),#f6f4ef;min-height:calc(100vh - 212px);padding:38px max(22px,50vw - 590px) 64px}.system-info-hero{color:#fff;background:linear-gradient(135deg,#102c41 0%,#173b50 68%,#73542d 100%);border:1px solid #e1d5bc;border-radius:19px;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;padding:26px 28px;display:flex;box-shadow:0 16px 38px #102c411f}.system-info-hero h1{color:#f2d084;margin:3px 0 4px;font:800 clamp(34px,5vw,54px)/1 Manrope,Sarabun,sans-serif}.system-info-hero>div>p:last-child{color:#d5e0e6;margin:0;font-size:15px}.system-version-pill{color:#f7dda2;background:#071c2a52;border:1px solid #f2d0847a;border-radius:999px;flex:none;padding:9px 13px;font:700 13px/1 Manrope,sans-serif;display:inline-flex}.system-status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.system-status-grid article{background:#fff;border:1px solid #e2e5e3;border-radius:14px;align-items:center;gap:11px;min-height:88px;padding:15px;display:flex;box-shadow:0 8px 24px #102c410d}.system-status-grid article>span{color:#8d672d;background:#fff4d9;border-radius:12px;flex:none;place-items:center;width:43px;height:43px;display:grid}.system-status-grid small,.system-status-grid strong{display:block}.system-status-grid small{color:#829097;font-size:10px}.system-status-grid strong{color:#294858;margin-top:3px;font-size:14px;line-height:1.25}.system-info-card{background:#fff;border:1px solid #e0e4e1;border-radius:17px;margin-top:18px;padding:22px;box-shadow:0 11px 30px #102c410f}.system-card-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px;display:flex}.system-card-heading>div{color:#9c7537;align-items:center;gap:10px;display:flex}.system-card-heading span,.system-card-heading small,.system-card-heading strong{display:block}.system-card-heading small{color:#a1814a;letter-spacing:.12em;font:700 9px/1.2 Manrope,sans-serif}.system-card-heading strong{color:#17364a;margin-top:3px;font-size:19px}.system-card-heading button{color:#4d6572;background:#f8faf9;border:1px solid #dce2df;border-radius:9px;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.system-card-heading button:disabled{cursor:not-allowed;opacity:.5}.changelog-list{gap:11px;display:grid}.changelog-list article{background:#fbfcfb;border:1px solid #e8e8e3;border-radius:13px;padding:16px 17px 16px 128px;position:relative}.changelog-list article>div{gap:4px;display:grid;position:absolute;top:17px;left:17px}.changelog-list article>div strong{color:#9b2636;font:800 16px/1 Manrope,sans-serif}.changelog-list article>div span{color:#8b969b;font-size:10px}.changelog-list h2{color:#294858;margin:0 0 7px;font-size:16px}.changelog-list ul{color:#60727b;margin:0;padding-left:20px;font-size:12px;line-height:1.65}.system-audit-message{color:#2b7058;background:#eef8f3;border:1px solid #cce3d8;border-radius:10px;align-items:center;gap:8px;padding:13px 14px;font-size:12px;display:flex}.system-audit-message.success{color:#21694f;background:#ebf8f1;border-color:#b9dfcc}.system-audit-message.warning{color:#90313e;background:#fff3f4;border-color:#ecc7cc}.system-audit-table-wrap{border:1px solid #e1e5e3;border-radius:11px;overflow-x:auto}.system-audit-table{border-collapse:collapse;width:100%;min-width:920px}.system-audit-table th{color:#667b85;text-align:left;background:#f1f4f2;padding:10px 12px;font-size:11px}.system-audit-table td{color:#516873;vertical-align:middle;border-top:1px solid #e7eae8;padding:11px 12px;font-size:12px}.system-audit-table td strong,.system-audit-table td small{display:block}.system-audit-table td strong{color:#2b4959;font-size:12px}.system-audit-table td small{color:#8a979c;margin-top:2px;font-size:10px}.audit-action{white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.audit-insert{color:#236b50;background:#e4f3ec}.audit-update{color:#7b5d23;background:#fff2cf}.audit-delete{color:#92313e;background:#fbe8ea}.system-audit-note{color:#8a969b;text-align:right;margin:10px 0 0;font-size:10px}.spin-icon{animation:.9s linear infinite pdfSpin}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.governance-status{white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:700;display:inline-flex!important}.governance-status.ready{color:#27684f;background:#ebf7f1;border-color:#b8d9c9}.governance-status.pending{color:#92313e;background:#fff1f2;border-color:#e9c3c8}.backup-center-card{background:linear-gradient(135deg,#f9f0d885,#0000 42%),#fff;overflow:hidden}.backup-center-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.backup-center-grid article{background:#ffffffdb;border:1px solid #e4e0d6;border-radius:15px;grid-template-columns:50px 1fr;align-items:start;gap:12px;min-height:195px;padding:17px;display:grid;box-shadow:0 8px 22px #1834450b}.backup-feature-icon{color:#825f2e;background:#fff1cf;border-radius:14px;grid-row:1/span 2;place-items:center;width:50px;height:50px;display:grid}.backup-feature-icon.verify{color:#2a6758;background:#e8f6f0}.backup-center-grid h2{color:#193b4d;margin:1px 0 5px;font-size:18px}.backup-center-grid p{color:#637780;margin:0;font-size:13px;line-height:1.55}.backup-center-grid button{color:#fff;background:linear-gradient(135deg,#8f2637,#ae3546);border:0;border-radius:11px;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 15px;font-size:14px;font-weight:700;display:inline-flex}.backup-center-grid button.secondary{color:#244e5f;background:#edf7f4;border:1px solid #c9dcda}.backup-center-grid button:disabled{cursor:not-allowed;opacity:.48}.backup-center-card>.system-audit-message{margin-top:14px;font-size:13px}.latest-backup-summary{background:#f8faf9;border:1px solid #dce3df;border-radius:13px;grid-template-columns:minmax(230px,.72fr) minmax(0,1.8fr);gap:15px;margin-top:14px;padding:15px;display:grid}.latest-backup-summary>div:first-child{flex-direction:column;justify-content:center;display:flex}.latest-backup-summary>div:first-child small{color:#788a92;font-size:11px}.latest-backup-summary>div:first-child strong{color:#1d4558;margin:4px 0;font-size:15px}.latest-backup-summary>div:first-child span{color:#7f8d93;overflow-wrap:anywhere;font-size:11px}.backup-count-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.backup-count-grid span{background:#fff;border:1px solid #e2e6e4;border-radius:9px;justify-content:space-between;align-items:center;gap:6px;min-height:40px;padding:7px 9px;display:flex}.backup-count-grid small{color:#6f818a;font-size:10px}.backup-count-grid strong{color:#8b2b39;font:800 14px/1 Manrope,Sarabun,sans-serif}.backup-security-note{color:#705d39;background:#fff9e9;border-left:4px solid #b88c3d;align-items:flex-start;gap:8px;margin:14px 0 0;padding:11px 13px;font-size:12px;line-height:1.55;display:flex}.backup-security-note svg{flex:none;margin-top:1px}.security-center-card{background:linear-gradient(135deg,#e2f1eba3,#0000 46%),#fff}.readiness-center-card{background:linear-gradient(135deg,#e0f0f6b8,#0000 45%),#fff}.readiness-health-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.readiness-health-grid article{background:#ffffffe6;border:1px solid #d9e5e8;border-radius:13px;min-height:137px;padding:15px}.readiness-health-grid article>svg{color:#316b7a;margin-bottom:11px}.readiness-health-grid small,.readiness-health-grid strong,.readiness-health-grid span{display:block}.readiness-health-grid small{color:#789099;font-size:10px}.readiness-health-grid strong{color:#214f5c;margin:3px 0;font-size:16px}.readiness-health-grid span{color:#73868d;font-size:11px;line-height:1.4}.readiness-install-message{margin-top:13px}.readiness-test-panel{background:#f8fbfc;border:1px solid #d9e3e5;border-radius:14px;grid-template-columns:minmax(260px,1.35fr) minmax(235px,.65fr);gap:14px;margin-top:14px;padding:16px;display:grid}.readiness-test-copy{align-items:flex-start;gap:11px;display:flex}.readiness-test-copy>span{color:#fff;background:linear-gradient(135deg,#215b6c,#357d8d);border-radius:13px;flex:none;place-items:center;width:47px;height:47px;display:grid}.readiness-test-copy h2,.contingency-heading h2{color:#193e4e;margin:1px 0 5px;font-size:18px}.readiness-test-copy p,.contingency-heading p{color:#647b85;margin:0;font-size:12px;line-height:1.55}.readiness-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.readiness-levels button{color:#53717c;background:#fff;border:1px solid #d3dfe1;border-radius:10px;place-items:center;gap:1px;min-height:58px;padding:7px;display:grid}.readiness-levels button.active{color:#fff;background:linear-gradient(135deg,#245d6e,#34798a);border-color:#255f70;box-shadow:0 7px 17px #255f7029}.readiness-levels strong{font:800 18px/1 Manrope,Sarabun,sans-serif}.readiness-levels small{font-size:9px}.run-readiness-button{color:#fff;background:linear-gradient(135deg,#8e2838,#aa3848);border:0;border-radius:11px;grid-column:1/-1;justify-content:center;align-items:center;gap:7px;min-height:47px;font-size:14px;font-weight:700;display:inline-flex}.run-readiness-button:disabled,.readiness-levels button:disabled{cursor:not-allowed;opacity:.48}.readiness-center-card>.system-audit-message{margin-top:13px;font-size:13px}.readiness-result-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:13px;display:grid}.readiness-result-grid article{text-align:center;background:#fff;border:1px solid #dce5e5;border-radius:11px;align-content:center;gap:4px;min-height:72px;padding:11px;display:grid}.readiness-result-grid small{color:#748990;font-size:10px}.readiness-result-grid strong{color:#285765;font:800 16px/1.2 Manrope,Sarabun,sans-serif}.latest-readiness-summary{background:#f7faf9;border:1px solid #dce5e2;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-top:13px;padding:13px 15px;display:flex}.latest-readiness-summary>div{gap:2px;display:grid}.latest-readiness-summary small{color:#7a8d93;font-size:10px}.latest-readiness-summary strong{color:#254e5d;font-size:14px}.latest-readiness-summary>div>span{color:#78878c;font-size:11px}.contingency-panel{background:linear-gradient(135deg,#fff9e9,#fffdf8);border:1px solid #ead9b5;border-radius:14px;margin-top:14px;padding:17px}.contingency-heading{align-items:flex-start;gap:11px;display:flex}.contingency-heading>span{color:#805d28;background:#ffedc5;border-radius:13px;flex:none;place-items:center;width:47px;height:47px;display:grid}.contingency-panel ol{counter-reset:contingency-step;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0;padding:0;list-style:none;display:grid}.contingency-panel li{counter-increment:contingency-step;background:#ffffffd1;border:1px solid #eadfca;border-radius:11px;min-height:116px;padding:14px 12px 12px 44px;position:relative}.contingency-panel li:before{color:#fff;content:counter(contingency-step);background:#9b7437;border-radius:50%;place-items:center;width:24px;height:24px;font:700 11px/1 Manrope,sans-serif;display:grid;position:absolute;top:13px;left:12px}.contingency-panel li strong,.contingency-panel li span{display:block}.contingency-panel li strong{color:#654d29;font-size:13px}.contingency-panel li span{color:#7e715c;margin-top:5px;font-size:11px;line-height:1.5}.contingency-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.contingency-actions button{color:#fff;background:linear-gradient(135deg,#8f2939,#aa3949);border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:45px;font-size:13px;font-weight:700;display:inline-flex}.contingency-actions button.secondary{color:#654d29;background:#fff;border:1px solid #dec99d}.uat-panel{background:linear-gradient(135deg,#eef8f5,#fbfdfc);border:1px solid #cfe2dc;border-radius:14px;margin-top:14px;padding:17px}.uat-heading{grid-template-columns:47px minmax(0,1fr) auto;align-items:start;gap:11px;display:grid}.uat-heading>span:first-child{color:#fff;background:linear-gradient(135deg,#2d715f,#4b9180);border-radius:13px;place-items:center;width:47px;height:47px;display:grid}.uat-heading small{color:#5c8578;letter-spacing:.12em;font:700 9px/1.2 Manrope,sans-serif}.uat-heading h2{color:#1e4d40;margin:3px 0 4px;font-size:18px}.uat-heading p{color:#648078;margin:0;font-size:12px;line-height:1.55}.uat-gate-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.uat-gate-grid article{color:#82918d;background:#ffffffe0;border:1px solid #dfe7e4;border-radius:11px;align-content:center;gap:3px;min-height:90px;padding:12px;display:grid}.uat-gate-grid article.passed{color:#34715e;background:#f7fcfa;border-color:#c5ddd4}.uat-gate-grid small{color:#788d87;margin-top:3px;font-size:10px}.uat-gate-grid strong{color:#315c50;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.uat-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px;display:grid}.uat-stage-grid article{background:#ffffffdb;border:1px solid #dbe7e3;border-radius:11px;grid-template-columns:32px minmax(0,1fr);gap:10px;min-height:126px;padding:13px;display:grid}.uat-stage-grid article>span{color:#fff;background:#397968;border-radius:50%;place-items:center;width:30px;height:30px;font:800 12px/1 Manrope,sans-serif;display:grid}.uat-stage-grid small,.uat-stage-grid strong{display:block}.uat-stage-grid small{color:#759087;font-size:9px}.uat-stage-grid strong{color:#285649;margin-top:3px;font-size:13px}.uat-stage-grid p{color:#698077;margin:6px 0 0;font-size:11px;line-height:1.5}.uat-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:10px;display:grid}.uat-actions button{color:#fff;background:linear-gradient(135deg,#286b59,#3c8874);border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:45px;font-size:13px;font-weight:700;display:inline-flex}.uat-actions button.secondary{color:#2b6555;background:#fff;border:1px solid #bdd8cf}.uat-safety-note{color:#628077;align-items:flex-start;gap:7px;margin:11px 0 0;font-size:11px;line-height:1.5;display:flex}.uat-safety-note svg{flex:none;margin-top:1px}.security-policy-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.security-policy-grid article{background:#ffffffe6;border:1px solid #dbe5e0;border-radius:13px;min-height:132px;padding:15px;position:relative;overflow:hidden}.security-policy-grid article>svg{color:#34705a;margin-bottom:12px}.security-policy-grid small,.security-policy-grid strong,.security-policy-grid span{display:block}.security-policy-grid small{color:#789088;font-size:10px}.security-policy-grid strong{color:#214d3f;margin:3px 0;font-size:16px}.security-policy-grid span{color:#71827d;font-size:11px}.security-center-card>.system-audit-message{margin-top:13px;font-size:13px}.security-event-list{background:#fff;border:1px solid #dce4e0;border-radius:12px;margin-top:13px;overflow:hidden}.security-event-heading{background:#f5f8f6;border-bottom:1px solid #e2e7e4;justify-content:space-between;align-items:center;gap:10px;padding:11px 13px;display:flex}.security-event-heading strong{color:#285343;font-size:13px}.security-event-heading span{color:#84918c;font-size:10px}.security-event-list>article{border-top:1px solid #edf0ee;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 13px;display:grid}.security-event-list>article:first-of-type{border-top:0}.security-event-list>article>span{color:#2d6a55;background:#eaf5f0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.security-event-list>article>div{gap:2px;display:grid}.security-event-list>article strong{color:#2a4f41;font-size:13px}.security-event-list>article small{color:#84908c;overflow-wrap:anywhere;font-size:10px}.security-event-list time{color:#687d75;white-space:nowrap;font-size:11px}.audit-heading-actions{color:inherit!important;gap:7px!important}.audit-filter-grid{background:#f8faf9;border:1px solid #e0e5e2;border-radius:12px;grid-template-columns:minmax(250px,1.4fr) repeat(2,minmax(180px,.7fr));gap:10px;margin-bottom:14px;padding:13px;display:grid}.audit-filter-grid label{color:#516975;gap:6px;font-size:12px;font-weight:700;display:grid}.audit-filter-grid label>span{align-items:center;gap:6px;display:flex}.audit-filter-grid input,.audit-filter-grid select{color:#274858;background:#fff;border:1px solid #ced8d6;border-radius:9px;outline:0;width:100%;height:44px;padding:0 12px;font:500 13px/1.2 Sarabun,sans-serif}.audit-filter-grid input:focus,.audit-filter-grid select:focus{border-color:#9a7538;box-shadow:0 0 0 3px #9a75381a}.select-shell{position:relative}.select-shell select{appearance:none;padding-right:34px}.select-shell svg{pointer-events:none;color:#788b94;position:absolute;top:14px;right:11px}.audit-detail-button{color:#34596a;white-space:nowrap;background:#f7faf8;border:1px solid #d7dfdc;border-radius:8px;min-height:34px;padding:0 10px;font-size:11px;font-weight:700}.audit-detail-row td{background:#f7f9f8;padding:0!important}.audit-detail-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px;display:grid}.audit-detail-panel>div{min-width:0}.audit-detail-panel strong{margin-bottom:6px;color:#294b5b!important;font-size:11px!important}.audit-detail-panel pre{color:#536975;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid #e0e4e2;border-radius:8px;max-height:260px;margin:0;padding:10px;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}@media (width<=920px){.system-status-grid,.readiness-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contingency-panel ol{grid-template-columns:1fr}.contingency-panel li{min-height:auto}.uat-gate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.uat-stage-grid{grid-template-columns:1fr}.uat-stage-grid article{min-height:auto}.security-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backup-center-grid,.latest-backup-summary{grid-template-columns:1fr}.audit-filter-grid{grid-template-columns:1fr 1fr}.audit-filter-grid label:first-child{grid-column:1/-1}}@media (width<=700px){.global-offline-banner{text-align:left;align-items:flex-start;font-size:12px}.global-database-banner{text-align:left;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;padding:10px 14px;font-size:12px}.global-database-banner button{width:100%;margin:3px 0 0}.admin-session-warning{grid-template-columns:auto minmax(0,1fr) auto;padding:11px 14px;position:relative}.admin-session-warning time{min-width:60px;font-size:17px}.admin-session-warning button{grid-column:1/-1;width:100%}.system-info-page{padding:24px 14px 45px}.system-info-hero{flex-direction:column;align-items:flex-start;padding:21px 18px}.system-info-hero>div>p:last-child{font-size:13px}.system-status-grid{grid-template-columns:1fr}.system-info-card{padding:17px 14px}.system-card-heading{flex-direction:column;align-items:flex-start}.governance-status{align-self:flex-start}.readiness-health-grid{grid-template-columns:1fr 1fr}.readiness-health-grid article{min-height:128px;padding:13px}.readiness-test-panel{grid-template-columns:1fr;padding:14px}.run-readiness-button{grid-column:auto}.readiness-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.latest-readiness-summary{flex-direction:column;align-items:flex-start}.contingency-panel{padding:14px}.contingency-actions{grid-template-columns:1fr}.uat-panel{padding:14px}.uat-heading{grid-template-columns:44px minmax(0,1fr)}.uat-heading>span:first-child{width:44px;height:44px}.uat-heading>.governance-status{grid-column:1/-1}.uat-actions{grid-template-columns:1fr}.backup-center-grid article{grid-template-columns:44px 1fr;padding:14px}.security-policy-grid{grid-template-columns:1fr 1fr}.security-policy-grid article{min-height:122px;padding:13px}.security-event-list>article{grid-template-columns:36px minmax(0,1fr)}.security-event-list time{grid-column:2}.backup-feature-icon{border-radius:12px;width:44px;height:44px}.backup-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-heading-actions{grid-template-columns:1fr 1fr;width:100%;align-items:stretch!important;display:grid!important}.audit-heading-actions button{justify-content:center}.audit-filter-grid{grid-template-columns:1fr}.audit-filter-grid label:first-child{grid-column:auto}.audit-detail-panel{grid-template-columns:1fr}.system-audit-note{text-align:left}.changelog-list article{padding:15px}.changelog-list article>div{margin-bottom:10px;position:static}}@media (width<=420px){.security-policy-grid,.readiness-health-grid,.readiness-result-grid,.uat-gate-grid{grid-template-columns:1fr}.admin-session-warning{grid-template-columns:auto minmax(0,1fr)}.admin-session-warning time{background:#ffffff94;border-radius:8px;grid-column:1/-1;width:100%;padding:7px}}.site-header nav button.training-admin-nav{--admin-nav-bg:#fff0df;--admin-nav-accent:#d77a2b}.site-header nav button:nth-child(8){--admin-nav-bg:#e5f5f5;--admin-nav-accent:#548f94}.training-admin-page{background:radial-gradient(circle at 90% 0,#e28b3721,#0000 28%),#f7f5f0;min-height:calc(100vh - 170px);padding:34px max(22px,50vw - 610px) 64px}.training-admin-hero{color:#fff;background:linear-gradient(135deg,#15364a 0%,#1b4459 60%,#b86221 100%);border:1px solid #ead5bd;border-radius:20px;align-items:center;gap:18px;padding:25px 27px;display:flex;box-shadow:0 17px 42px #1b37451f}.training-admin-hero>span{color:#ffcf93;background:#102a3959;border:1px solid #ffdbb270;border-radius:18px;flex:none;place-items:center;width:64px;height:64px;display:grid}.training-admin-hero h1{color:#fff;margin:3px 0 5px;font-size:clamp(27px,3.5vw,42px);line-height:1.2}.training-admin-hero p:last-child{color:#d8e3e8;margin:0;font-size:14px}.training-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.training-mode-tabs button{color:#7d5636;background:#fff8f0;border:1px solid #ead8c7;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:55px;font-size:17px;font-weight:700;display:flex}.training-mode-tabs button.active{color:#fff;background:#d77a2b;border-color:#d77a2b;box-shadow:0 8px 22px #d77a2b33}.training-system-alert,.training-error,.training-success{border-radius:11px;align-items:center;gap:9px;margin:13px 0;padding:13px 15px;font-size:14px;font-weight:600;display:flex}.training-system-alert,.training-error{color:#943541;background:#fff1f2;border:1px solid #ecc9cd}.training-success{color:#286c53;background:#eef9f5;border:1px solid #bfe1d4}.training-form-card,.training-record-list{background:#fff;border:1px solid #e1e4e1;border-radius:18px;margin-top:17px;padding:23px;box-shadow:0 12px 34px #112c3e12}.training-card-heading,.training-record-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.training-card-heading>div,.training-record-heading>div{align-items:center;gap:11px;display:flex}.training-card-heading>div>span{color:#a5561d;background:#fff0df;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.training-card-heading small,.training-card-heading h2,.training-record-heading small,.training-record-heading strong{display:block}.training-card-heading small,.training-record-heading small{color:#be7a43;letter-spacing:.12em;font:700 9px/1.2 Manrope,sans-serif}.training-card-heading h2{color:#1e4053;margin:3px 0 0;font-size:21px}.training-card-heading>button,.training-record-heading button,.training-participant-toolbar button{color:#5c6f79;background:#f8faf9;border:1px solid #e0e3e1;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:39px;padding:0 12px;font-size:12px;font-weight:600;display:inline-flex}.training-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.training-details-grid label{color:#465f6d;gap:7px;font-size:14px;font-weight:600;display:grid}.training-details-grid label>span{align-items:center;gap:7px;display:flex}.training-title-field{grid-column:1/-1}.training-details-grid input{color:#294858;background:#fff;border:1px solid #dce1de;border-radius:10px;width:100%;min-height:52px;padding:0 13px;font-size:15px}.training-participant-section{border:1px solid #e2e4e1;border-radius:14px;margin-top:22px;overflow:hidden}.training-participant-heading{color:#fff;background:linear-gradient(110deg,#173b50,#29566b);justify-content:space-between;align-items:center;gap:15px;min-height:67px;padding:12px 16px;display:flex}.training-participant-heading>div{align-items:center;gap:10px;display:flex}.training-participant-heading span,.training-participant-heading small,.training-participant-heading strong{display:block}.training-participant-heading small{color:#f1c794;letter-spacing:.12em;font:700 9px/1 Manrope,sans-serif}.training-participant-heading strong{margin-top:3px;font-size:16px}.training-participant-heading>strong{color:#ffdda9;white-space:nowrap;font-size:14px}.training-participant-toolbar{background:#fafbf9;border-bottom:1px solid #e4e6e4;align-items:center;gap:9px;padding:12px;display:flex}.training-participant-toolbar label{color:#7a8d96;background:#fff;border:1px solid #dce1df;border-radius:9px;flex:1;align-items:center;gap:8px;min-width:250px;height:43px;padding:0 11px;display:flex}.training-participant-toolbar input{color:#395664;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:14px}.training-personnel-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:485px;display:grid;overflow-y:auto}.training-personnel-list>label{color:#375463;cursor:pointer;background:#fff;border-bottom:1px solid #eaebe9;align-items:center;gap:10px;min-height:66px;padding:10px 14px;display:flex}.training-personnel-list>label:nth-child(odd){border-right:1px solid #eaebe9}.training-personnel-list>label.selected{background:#fff7ed}.training-personnel-list input{opacity:0;pointer-events:none;position:absolute}.training-personnel-check{color:#fff;background:#fff;border:2px solid #cdd6d3;border-radius:7px;flex:none;place-items:center;width:25px;height:25px;display:grid}.training-personnel-list>label.selected .training-personnel-check{background:#d77a2b;border-color:#d77a2b}.training-personnel-list label>span:last-child,.training-personnel-list label strong,.training-personnel-list label small{display:block}.training-personnel-list label strong{font-size:14px}.training-personnel-list label small{color:#869399;margin-top:3px;font-size:11px}.training-empty-list{color:#8b979c;text-align:center;grid-column:1/-1;padding:32px 15px}.training-save-button{color:#fff;background:#c96622;border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:55px;margin-top:19px;font-size:17px;font-weight:700;display:flex}.training-save-button:disabled{cursor:not-allowed;opacity:.5}.training-record-heading>div{color:#b26023}.training-record-heading span,.training-record-heading small,.training-record-heading strong{display:block}.training-record-heading strong{color:#264657;margin-top:3px;font-size:19px}.training-record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.training-record-grid article{background:#fbfcfa;border:1px solid #e4e5e2;border-radius:13px;gap:13px;padding:17px;display:grid}.training-record-grid article>div:first-child{align-items:flex-start;gap:10px;display:flex}.training-record-grid article>div:first-child>span{color:#bd6422;background:#fff0df;border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.training-record-grid h3{color:#284858;margin:0;font-size:16px}.training-record-grid p{color:#7c8b92;margin:3px 0 0;font-size:12px}.training-record-grid dl{background:#fff;border:1px solid #e4e6e3;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.training-record-grid dl>div{padding:9px}.training-record-grid dl>div+div{border-left:1px solid #e4e6e3}.training-record-grid dt{color:#8a979c;font-size:10px}.training-record-grid dd{color:#355363;margin:3px 0 0;font-size:12px;font-weight:600}.training-record-grid article>button{color:#a6531a;background:#fff5ea;border:1px solid #e0b88e;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:41px;font-size:13px;font-weight:700;display:flex}.training-record-empty{color:#849299;justify-content:center;align-items:center;gap:8px;min-height:100px;display:flex}.personal-history-section{text-align:left;margin-top:18px}.leave-lookup-card .leave-lookup-title{overflow-wrap:anywhere;text-align:center;text-wrap:balance;width:100%;max-width:100%;margin:3px auto 8px;font-size:clamp(23px,4.2vw,38px);line-height:1.24}.personal-history-heading{color:#9c2636;align-items:center;gap:8px;margin-bottom:9px;display:flex}.personal-history-heading h2{color:#294858;margin:0;font-size:18px}.training-history-section .personal-history-heading{color:#d2782b}.training-history-table-wrap table{min-width:720px}.training-history-table-wrap td strong,.training-history-table-wrap td small{display:block}.training-history-table-wrap td small{color:#87949a;margin-top:3px;font-size:11px}.training-history-unavailable{color:#933440;background:#fff2f3;border:1px solid #edc9ce;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:13px;display:flex}.personal-history-no-data{color:#fff;background:linear-gradient(135deg,#bf3042,#8e1e2d);border:1px solid #e7aeb6;border-radius:10px;justify-content:center;align-items:center;gap:9px;margin-top:18px;padding:14px 16px;font-size:15px;font-weight:700;display:flex;box-shadow:0 8px 20px #8e1e2d29}.personal-history-no-data svg{flex:none}.personal-history-latest{color:#276443;text-align:center;background:#e8f7ed;border:1px solid #a9d9b8;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:12px 15px;font-size:14px;font-weight:600;display:flex}.personal-history-latest svg{color:#3b8a5b;flex:none}.personal-history-latest strong{color:#1f5a3a}.personal-history-section-recorded{color:#8d3d59;text-align:center;background:#fce8ef;border:1px solid #efbdcc;border-radius:9px;justify-content:center;align-items:center;gap:7px;margin-bottom:10px;padding:10px 13px;font-size:13px;font-weight:600;display:flex}.personal-history-section-recorded svg{color:#bd5e7c;flex:none}.personal-history-section-recorded strong{color:#743047}.personal-history-download{color:#fff;background:linear-gradient(135deg,#173b50,#285d76);border:0;border-radius:11px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:58px;margin-top:21px;display:flex;box-shadow:0 9px 22px #173b502e}.personal-history-download>span,.personal-history-download strong,.personal-history-download small{display:block}.personal-history-download>span{text-align:left}.personal-history-download strong{font-size:17px}.personal-history-download small{color:#d9e7ed;margin-top:2px;font-size:11px;font-weight:400}.personal-history-download:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.personal-history-pdf-report{font-family:Sarabun,sans-serif}.personal-history-pdf-person{background:#dce1de;border:1px solid #dce1de;border-radius:4px;grid-template-columns:1.25fr .7fr 1.35fr;gap:1px;margin:15px 0 10px;display:grid;overflow:hidden}.personal-history-pdf-person>div{background:#f7f9f8;padding:9px 10px}.personal-history-pdf-person span,.personal-history-pdf-person strong{display:block}.personal-history-pdf-person span{color:#75858d;font-size:9px}.personal-history-pdf-person strong{color:#294858;margin-top:2px;font-size:11px}.personal-history-pdf-latest{color:#215b3b;text-align:center;background:#e8f7ed;border:1px solid #a9d9b8;border-radius:3px;margin:9px 0 2px;padding:8px 10px;font-size:10px;font-weight:600}.personal-history-pdf-section-recorded{color:#7e354f;text-align:center;break-after:avoid;page-break-after:avoid;background:#fce8ef;border:1px solid #efbdcc;border-top:0;padding:7px 10px;font-size:9.5px;font-weight:600}.personal-history-pdf-section{break-inside:auto;page-break-inside:auto;margin-top:15px}.personal-history-pdf-section h3{color:#fff;break-after:avoid;page-break-after:avoid;background:#173b50;justify-content:space-between;align-items:center;margin:0;padding:8px 10px;font-size:13px;display:flex}.personal-history-pdf-section.training h3{background:#bd6826}.personal-history-pdf-section h3 span{font-size:10px;font-weight:500}.personal-history-pdf-section table{border-collapse:collapse;width:100%}.personal-history-pdf-section thead{break-after:avoid;page-break-after:avoid}.personal-history-pdf-section th,.personal-history-pdf-section td{vertical-align:top;border:1px solid #d9dddb;padding:7px;font-size:9.5px}.personal-history-pdf-section th{color:#51656f;background:#f0f3f2}.personal-history-pdf-section.training th{background:#fbf2e9}.personal-history-pdf-section tr{break-inside:avoid;page-break-inside:avoid}.personal-history-pdf-section th:first-child,.personal-history-pdf-section td:first-child,.personal-history-pdf-section th:last-child,.personal-history-pdf-section td:last-child{text-align:center}.personal-history-pdf-section td small{color:#7e8b91;margin-top:2px;font-size:8.5px;display:block}.personal-history-pdf-empty{color:#7b6064;text-align:center;background:#fbf6f7;border:1px solid #e0e4e2;margin:0;padding:17px 12px;font-size:10px}@media (width<=850px){.training-details-grid,.training-record-grid,.training-personnel-list{grid-template-columns:1fr}.training-personnel-list>label:nth-child(odd){border-right:0}.training-participant-toolbar{flex-wrap:wrap;align-items:stretch}.training-participant-toolbar label{min-width:100%}.training-record-grid dl{grid-template-columns:1fr}.training-record-grid dl>div+div{border-top:1px solid #e4e6e3;border-left:0}}@media (width<=600px){.training-admin-page{padding:22px 14px 46px}.training-admin-hero{align-items:flex-start;padding:21px 17px}.training-admin-hero>span{border-radius:14px;width:51px;height:51px}.training-admin-hero h1{font-size:26px}.training-admin-hero p:last-child{font-size:12px}.training-mode-tabs{gap:8px}.training-mode-tabs button{min-height:50px;font-size:15px}.training-form-card,.training-record-list{padding:17px 13px}.training-card-heading,.training-record-heading{align-items:flex-start}.training-card-heading h2{font-size:18px}.training-participant-heading{align-items:flex-start}.training-participant-heading>strong{padding-top:3px}.training-participant-toolbar button{flex:1}.leave-lookup-card .leave-lookup-title{font-size:clamp(22px,7.2vw,29px)}.personal-history-heading{align-items:flex-start}.personal-history-heading h2{font-size:17px;line-height:1.35}.personal-history-download{min-height:56px}}.attendance-login-card{width:min(650px,100%);padding:38px 42px}.attendance-login-icon{color:#fff2c8;background:linear-gradient(145deg,#173b50,#0c2638);border-radius:20px;place-items:center;width:68px;height:68px;margin:0 auto 16px;display:grid;box-shadow:0 12px 27px #0c263833}.attendance-login-card h1{text-wrap:balance;font-size:clamp(27px,4vw,37px);line-height:1.28}.attendance-login-card>p:not(.section-kicker){color:#657985;margin:9px 0 23px;font-size:17px;line-height:1.55}.attendance-login-card>.attendance-login-description{text-align:center;text-wrap:balance;overflow-wrap:anywhere;width:100%;margin-inline:auto;padding-inline:clamp(0px,2vw,16px);font-size:clamp(14px,2.25vw,17px);line-height:1.55}.attendance-login-card label{text-align:left;margin:14px 0;display:block}.attendance-login-card label>span{color:#385463;align-items:center;gap:8px;margin-bottom:8px;font-size:17px;font-weight:700;display:flex}.attendance-login-card label>span svg{color:var(--red)}.attendance-login-card input{color:#294858;background:#fbfcfb;border:1px solid #d8dfdc;border-radius:11px;outline:0;width:100%;min-height:61px;padding:0 16px;font-size:20px}.attendance-login-card input:focus{border-color:#b45964;box-shadow:0 0 0 4px #a9253517}.credential-ripple-shell{isolation:isolate;background:linear-gradient(125deg,#edfaff 0%,#dff4fc 44%,#eaf9ff 100%);border:1px solid #a9cfdf;border-radius:11px;transition:border-color .22s,box-shadow .22s,transform .22s;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe0,0 6px 18px #4891af14}.credential-ripple-shell:before,.credential-ripple-shell:after{content:"";z-index:0;pointer-events:none;will-change:transform;position:absolute}.credential-ripple-shell:before{background:#7acae557;border-radius:46%;width:175%;height:135%;animation:8s linear infinite credentialWaterWave;top:43%;left:-38%}.credential-ripple-shell:after{background:#ffffff7a;border-radius:43%;width:155%;height:125%;animation:10.5s linear infinite credentialWaterWaveReverse;top:55%;left:-22%}.credential-ripple-shell input{z-index:1;color:#264c61;outline:0;position:relative;box-shadow:none!important;background:#ffffff61!important;border:0!important}.credential-ripple-shell input::placeholder{color:#5c7d8c;opacity:.96}.credential-ripple-shell:hover{border-color:#82bcd3}.credential-ripple-shell:focus-within{border-color:#559fbd;transform:translateY(-1px);box-shadow:0 0 0 4px #5babcb2b,0 10px 25px #4891af24}.credential-ripple-shell:focus-within:before{background:#65c0e06b;animation-duration:5.8s}.credential-ripple-shell:focus-within:after{animation-duration:7.4s}.credential-ripple-shell.credential-ripple-school{background:linear-gradient(125deg,#fff9df 0%,#f4e7bf 44%,#f8ead1 100%);border-color:#d6bd83;box-shadow:inset 0 1px #ffffffe6,0 6px 18px #97693a1a}.credential-ripple-shell.credential-ripple-school:before{background:#a6744c57}.credential-ripple-shell.credential-ripple-school:after{background:#f8d3667a}.credential-ripple-shell.credential-ripple-school input{color:#5b422e;background:#fffdf257!important}.credential-ripple-shell.credential-ripple-school input::placeholder{color:#755e43}.credential-ripple-shell.credential-ripple-school:hover{border-color:#bc965d}.credential-ripple-shell.credential-ripple-school:focus-within{border-color:#a97b43;box-shadow:0 0 0 4px #deb44c33,0 10px 25px #8b5b3029}.credential-ripple-shell.credential-ripple-school:focus-within:before{background:#975e396b}.credential-ripple-shell.credential-ripple-school:focus-within:after{background:#facd498f}.credential-ripple-shell.active-keypad-field,.credential-ripple-shell.credential-ripple-school.active-keypad-field{background:linear-gradient(125deg,#fff5f6 0%,#f9dfe3 44%,#fdebed 100%);border-color:#cf7180;transform:translateY(-1px);box-shadow:inset 7px 0 #e59aa4,0 0 0 4px #cf71802b,0 10px 25px #a925351f}.credential-ripple-shell.active-keypad-field:before,.credential-ripple-shell.credential-ripple-school.active-keypad-field:before{background:#e184904d;animation-duration:5.8s}.credential-ripple-shell.active-keypad-field:after,.credential-ripple-shell.credential-ripple-school.active-keypad-field:after{background:#ffffff80;animation-duration:7.4s}.credential-ripple-shell.active-keypad-field input,.credential-ripple-shell.credential-ripple-school.active-keypad-field input{color:#702b35;background:#fff2f494!important}.credential-ripple-shell.active-keypad-field input::placeholder,.credential-ripple-shell.credential-ripple-school.active-keypad-field input::placeholder{color:#9b5962}@keyframes credentialWaterWave{0%{transform:translate(-4%)rotate(0)}to{transform:translate(7%,-4%)rotate(360deg)}}@keyframes credentialWaterWaveReverse{0%{transform:translate(5%,1%)rotate(360deg)}to{transform:translate(-5%,-3%)rotate(0)}}@media (prefers-reduced-motion:reduce){.credential-ripple-shell,.credential-ripple-shell:before,.credential-ripple-shell:after{transition:none!important;animation:none!important}.credential-ripple-shell:focus-within{transform:none}}.attendance-access-status{color:#637680;text-align:center;background:#f5f7f6;border:1px solid #d9dfdc;border-radius:10px;justify-content:center;align-items:center;min-height:49px;margin:3px 0 14px;padding:10px 13px;font-size:15px;font-weight:600;line-height:1.4;display:flex}.attendance-access-status.setup{color:#8a642d;background:#fff7e7;border-color:#efd5a4}.attendance-access-status.returning{color:#336b50;background:#ecf8f1;border-color:#b9ddc8}.attendance-credential-count{color:#4d6e7e;background:#edf4f6;border-radius:999px;margin-left:auto;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.4}.attendance-keypad{background:linear-gradient(160deg,#fbfefd,#f1faf8);border:1px solid #d5ebe7;border-radius:22px;margin:18px auto 6px;padding:18px 18px 20px;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #2d756914}.attendance-keypad-heading{color:#315c60;text-align:center;gap:2px;margin-bottom:15px;display:grid}.attendance-keypad-heading strong{font-size:16px}.attendance-keypad-heading small{color:#718b8d;font-size:12px}.attendance-keypad-target{color:#8e3a47;background:#fbe4e7;border:1px solid #efb9c0;border-radius:10px;justify-content:center;align-items:center;gap:5px;min-height:36px;margin-top:9px;padding:7px 11px;font-size:14px;line-height:1.35;display:flex}.attendance-keypad-target strong{color:#9f2637;font-size:14px}.attendance-keypad-grid{grid-template-columns:repeat(3,72px);justify-content:center;gap:13px 18px;width:min(276px,100%);margin:0 auto;display:grid}.attendance-keypad-key{color:#173e52;background:linear-gradient(145deg,#fff,#effaf8);border:1.5px solid #8fcfc5;border-radius:50%;place-items:center;width:72px;height:72px;font-family:Manrope,sans-serif;font-size:26px;font-weight:700;transition:transform .14s,border-color .14s,background .14s,box-shadow .14s;display:grid;box-shadow:0 7px 16px #3d887b1f,inset 0 1px #fff}.attendance-keypad-key:hover{background:#e8f8f4;border-color:#58af9f;transform:translateY(-1px);box-shadow:0 9px 20px #3d887b2b}.attendance-keypad-key:active{transform:scale(.94)}.attendance-keypad-key:focus-visible{outline-offset:3px;outline:3px solid #328b7c38}.attendance-keypad-key:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.attendance-keypad-zero{grid-area:4/2}.attendance-keypad-delete{color:#2e6963;background:linear-gradient(145deg,#eaf8f5,#d9f0eb);grid-area:4/3;font-size:27px}.attendance-login-error{align-items:flex-start;min-height:55px;padding:13px 14px;font-size:16px;line-height:1.5}.attendance-login-error svg{flex:none;margin-top:2px}.attendance-login-guidance{color:#416958;text-align:left;background:#eef8f3;border:1px solid #c9ded4;border-radius:10px;align-items:flex-start;gap:9px;margin:17px 0 5px;padding:13px 14px;font-size:14px;line-height:1.5;display:flex}.attendance-login-guidance svg{color:#4e8b70;flex:none;margin-top:1px}.attendance-login-submit{color:#fff;background:linear-gradient(135deg,#b52f3e,#851d2a);border:0;border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:60px;margin-top:16px;font-size:21px;font-weight:700;display:flex;box-shadow:0 11px 24px #891c2a38}.attendance-login-submit:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.attendance-login-submit .spin{animation:.9s linear infinite pdfSpin}.attendance-login-back{margin-top:10px;font-size:15px}.attendance-verified-identity{background:#f7fbf9;border:1px solid #c8dfd4;border-radius:14px;margin:21px 0 18px;overflow:hidden}.attendance-verified-heading{color:#fff;background:linear-gradient(120deg,#29654e,#3f8065);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:70px;padding:13px 16px;display:grid}.attendance-verified-heading>span{color:#3b795f;background:#e9f7ef;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.attendance-verified-heading small,.attendance-verified-heading strong{display:block}.attendance-verified-heading small{color:#caecda;font-size:15px}.attendance-verified-heading strong{margin-top:2px;font-size:19px;line-height:1.35}.attendance-verified-heading>svg{color:#d9f4e4}.attendance-verified-grid{background:#dce7e1;grid-template-columns:1.25fr .65fr;gap:1px;display:grid}.attendance-verified-grid>div{background:#fff;grid-template-columns:auto 1fr;align-content:center;gap:3px 10px;min-height:91px;padding:13px 16px;display:grid}.attendance-verified-grid>div:last-child{grid-column:1/-1}.attendance-verified-grid svg{color:#a52c3a;grid-row:1/3;align-self:center}.attendance-verified-grid span,.attendance-verified-grid strong{display:block}.attendance-verified-grid span{color:#7e8e95;font-size:16px}.attendance-verified-grid strong{color:#28495a;font-size:21px;line-height:1.35}.attendance-roster-viewer{background:#fbfcfb;border:1px solid #dce4df;border-radius:14px;margin:0 0 18px;padding:17px}.attendance-roster-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:13px;display:flex}.attendance-roster-heading .field-label{margin:0 0 3px}.attendance-roster-heading>div>strong{color:#5f747e;font-size:14px;font-weight:500}.attendance-roster-security{color:#276849;background:#edf8f2;border:1px solid #c9e1d5;border-radius:999px;flex:none;align-items:center;gap:6px;min-height:36px;padding:7px 10px;font-size:13px;font-weight:700;display:inline-flex}.attendance-department-tabs button{cursor:pointer}.attendance-member-panel{margin-top:13px}.attendance-member-list{max-height:330px}.attendance-member-row{color:#435965;background:#fff;border:1px solid #e0e4e2;border-radius:9px;outline:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:3px 9px;min-height:58px;padding:8px 10px;display:grid}.attendance-member-row:focus-visible{border-color:#7c9fb0;box-shadow:0 0 0 3px #477b9424}.attendance-member-row .member-check{grid-row:1/3}.attendance-member-row .attendance-member-name{color:#344d5b;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;overflow:hidden}.attendance-member-row>small{color:#88969d;font-size:13px}.attendance-member-row>em{color:#78888f;white-space:nowrap;background:#eef1f0;border-radius:999px;grid-area:1/3/3;padding:5px 8px;font-size:12px;font-style:normal;font-weight:700}.attendance-member-row.account-owner{color:#205e43;background:#dff3e8;border-color:#9fd1b8;box-shadow:inset 0 0 0 1px #37855e14}.attendance-member-row.account-owner .member-check{color:#fff;background:#3d8a64}.attendance-member-row.account-owner .attendance-member-name{color:#205e43}.attendance-member-row.account-owner>small{color:#4e7e68}.attendance-member-row.account-owner>em{color:#185c3d;background:#bfe7d1}.attendance-member-panel .member-hint{justify-content:center;align-items:center;gap:6px;display:flex}.attendance-member-panel .member-hint svg{color:#4b8269;flex:none}@media (width<=700px){.attendance-login-card{padding:27px 19px}.attendance-login-card>p:not(.section-kicker){font-size:clamp(14px,4.1vw,15px)}.attendance-login-card label>span{font-size:16px}.attendance-login-card input{min-height:58px;font-size:18px}.attendance-login-submit{font-size:19px}.attendance-keypad{padding:16px 10px 18px}.attendance-keypad-grid{grid-template-columns:repeat(3,64px);gap:11px 16px}.attendance-keypad-key{width:64px;height:64px;font-size:24px}.attendance-verified-heading{grid-template-columns:auto 1fr}.attendance-verified-heading>svg{display:none}.attendance-verified-heading small{font-size:13px}.attendance-verified-heading strong{font-size:17px}.attendance-verified-grid{grid-template-columns:1fr}.attendance-verified-grid>div:last-child{grid-column:auto}.attendance-verified-grid span{font-size:14px}.attendance-verified-grid strong{font-size:18px}.attendance-roster-viewer{padding:13px}.attendance-roster-heading{flex-direction:column;align-items:flex-start}.attendance-roster-heading>div>strong{font-size:13px}.attendance-roster-security{justify-content:center;width:100%;font-size:12px}.attendance-member-list{grid-template-columns:1fr;max-height:370px}.attendance-member-row .attendance-member-name{font-size:15px}.attendance-member-row>small{font-size:12px}.attendance-member-row>em{font-size:11px}}
