@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@400;500;600;700&display=swap";:root{--ink: #12343B;--ink-2: #2B4E55;--field: #F6F7F5;--paper: #FFFFFF;--line: #D5DCDA;--tag: #F2B705;--tag-soft: #FFF4CC;--pass: #2E7D4F;--pass-soft: #E3F1E8;--fail: #B3261E;--fail-soft: #FBE6E4;--muted: #5B6B6E;--focus: #0B6BCB;--font: "IBM Plex Sans Thai", "Noto Sans Thai", "Leelawadee UI", "Thonburi", system-ui, sans-serif;--r-s: 6px;--r-m: 10px;--nav-h: 64px;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--field);color:var(--ink);font:16px/1.6 var(--font)}h1{font-size:1.375rem;line-height:1.35;margin:0 0 .25rem;font-weight:700}h2{font-size:1.0625rem;margin:0 0 .75rem;font-weight:600}h3{font-size:1rem;margin:1rem 0 .25rem;color:var(--ink-2)}a{color:var(--ink)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.muted{color:var(--muted)}.small{font-size:.875rem}.shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.75rem;padding:.5rem .875rem;padding-top:calc(.5rem + env(safe-area-inset-top));background:var(--bar);color:var(--on-bar)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:inherit;text-decoration:none;letter-spacing:.01em}.brand.big{font-size:1.25rem;color:var(--ink);margin-bottom:1rem}.mark{width:22px;height:28px;background:var(--tag);border-radius:3px;position:relative;flex:none;clip-path:polygon(0 18%,30% 0,100% 0,100% 100%,0 100%)}.mark:after{content:"";position:absolute;left:5px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--ink)}.who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;font-size:.8125rem}.who .site-name,.who select{font-weight:600;font-size:.875rem}.who select{background:transparent;color:var(--on-bar);border:1px solid #ffffff55;border-radius:var(--r-s);padding:.25rem;max-width:100%}.who select option{color:var(--ink)}.role-line{opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .ghost{color:var(--on-bar);border-color:#fff6}.nav{position:fixed;z-index:30;inset:auto 0 0;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:var(--paper);border-top:1px solid var(--line);overflow-x:auto}.nav a{flex:1 0 58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.75rem;text-decoration:none;color:var(--muted);min-height:48px}.nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav a.active{color:var(--ink);font-weight:600;box-shadow:inset 0 3px 0 var(--tag)}.view{padding:1rem .875rem 2rem;max-width:980px;width:100%;min-width:0;margin:0 auto;outline:none}.panel,.tabs,.table-wrap,.audit-head,.scorebar{min-width:0;max-width:100%}.table-wrap table{min-width:560px}.loading{color:var(--muted)}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:1rem;margin-bottom:1rem}.stack>*+*{margin-top:.75rem}.grid2,.grid3{display:grid;gap:.75rem;grid-template-columns:1fr}label{display:block;font-weight:500;font-size:.9375rem}input,select,textarea{display:block;width:100%;margin-top:.25rem;font:inherit;color:inherit;background:var(--paper);border:1px solid var(--input-line);border-radius:var(--r-s);padding:.625rem .75rem;min-height:48px}textarea{min-height:72px;resize:vertical}fieldset{border:0;padding:0;margin:0}legend{font-weight:600;margin-bottom:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.5rem 1rem;border-radius:var(--r-s);border:1px solid var(--ink);background:var(--paper);color:var(--ink);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn.primary{background:var(--primary);color:var(--on-primary)}.btn.ghost{background:transparent;border-color:var(--line)}.btn.danger{border-color:var(--fail);color:var(--fail)}.btn.small,button.small{min-height:40px;padding:.25rem .75rem;font-size:.875rem}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:.5rem;justify-content:flex-end}.actions.wrap{flex-wrap:wrap;justify-content:flex-start}.back{display:inline-block;margin-bottom:.5rem;font-size:.9375rem}.notice{background:var(--notice-bg);border-left:4px solid var(--ink-2);padding:.625rem .75rem;border-radius:var(--r-s)}.notice.warn{background:var(--tag-soft);border-left-color:var(--tag)}.empty{color:var(--muted);padding:.5rem 0}.pill{display:inline-block;padding:.0625rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--soft);color:var(--ink-2);white-space:nowrap}.pill.approved,.pill.closed,.pill.published{background:var(--pass-soft);color:var(--pass)}.pill.submitted,.pill.warn{background:var(--tag-soft);color:var(--warn-text)}.pill.returned,.pill.rejected,.pill.retired{background:var(--fail-soft);color:var(--fail)}.pill.in_progress,.pill.open{background:var(--info-soft);color:var(--info-text)}.chip{display:inline-flex;gap:.5rem;align-items:center;background:var(--soft);padding:.25rem .75rem;border-radius:999px;margin:0}.rows{list-style:none;margin:0;padding:0}.rows li{border-top:1px solid var(--line)}.rows li:first-child{border-top:0}.rows a,.rows .linkish,.rows.plain li{display:grid;grid-template-columns:1fr auto;gap:.125rem .75rem;padding:.75rem 0;text-decoration:none;color:inherit;min-height:48px}.linkish{width:100%;background:none;border:0;font:inherit;text-align:left;cursor:pointer}.rows.plain li .actions{grid-column:1 / -1}.r-main{font-weight:600;min-width:0;overflow-wrap:anywhere}.r-sub{grid-column:1;color:var(--muted);font-size:.875rem}.rows .pill{grid-row:1 / span 2;grid-column:2;align-self:center}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;white-space:nowrap}.timeline{margin:0;padding-left:1.25rem}.timeline li{margin-bottom:.5rem}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:.875rem;text-decoration:none;color:inherit;display:flex;flex-direction:column}.tile strong{font-size:1.75rem;line-height:1.1}.tile span{color:var(--muted);font-size:.875rem}.tile.alert{border-color:var(--fail)}.tile.alert strong{color:var(--fail)}.bars{display:grid;gap:.5rem}.bar{display:grid;grid-template-columns:5.5rem 1fr 2rem;align-items:center;gap:.5rem;font-size:.9375rem}.bar i{display:block;height:10px;background:var(--soft);border-radius:5px;position:relative;overflow:hidden}.bar i:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--ink-2)}.bar b{text-align:right}.audit-head{margin-bottom:.75rem}.meta{margin:0 0 .5rem;color:var(--muted);font-size:.9375rem}.scorebar{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:.625rem .75rem}.scorebar p{margin:.375rem 0 0;font-size:.9375rem;display:flex;flex-wrap:wrap;gap:.25rem .5rem;align-items:center}.progress{height:8px;background:var(--soft);border-radius:4px;overflow:hidden}.progress i{display:block;height:100%;width:var(--w);background:var(--pass)}.savestate{position:sticky;top:56px;z-index:10;margin-top:.5rem;font-size:.8125rem;padding:.25rem .625rem;border-radius:999px;display:inline-block;background:var(--soft);color:var(--ink-2)}.savestate.busy{background:var(--tag-soft);color:var(--warn-text)}.savestate.ok{background:var(--pass-soft);color:var(--pass)}.savestate.error{background:var(--fail-soft);color:var(--fail)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto}.tabs [role=tab]{flex:none;min-height:48px;padding:.5rem .875rem;border:0;background:none;font:inherit;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;cursor:pointer;border-bottom:3px solid transparent}.tabs [aria-selected=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--tag)}.toggle{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.toggle input{width:22px;min-height:22px;height:22px;margin:0}.step h2{position:sticky;top:56px;z-index:5;background:var(--field);padding:.5rem 0;margin:1rem 0 .5rem}.stepno{display:inline-block;background:var(--primary);color:var(--on-primary);font-size:.8125rem;padding:.0625rem .5rem;border-radius:4px;margin-right:.25rem}.q{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:var(--r-m);padding:.875rem;margin-bottom:.75rem}.q.done{border-left-color:var(--pass)}.q.reverse{border-left-color:var(--tag)}.q.reverse.done{border-left-color:var(--pass)}.q.saving{opacity:.7}.q.compact{padding:.625rem .75rem}.q-meta{display:flex;flex-wrap:wrap;gap:.25rem .75rem;font-size:.8125rem;color:var(--muted)}.qid{font-weight:700;color:var(--ink)}.sev{font-weight:600}.sev-Major{color:var(--fail)}.sev-Minor{color:var(--warn-text)}.q-text{margin:.375rem 0 .5rem;font-size:1rem;overflow-wrap:anywhere}.reverse-note{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:var(--warn-text);background:repeating-linear-gradient(-45deg,var(--tag-soft) 0 8px,var(--warn-stripe) 8px 16px);padding:.25rem .5rem;border-radius:4px}.answers{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.ans{min-height:52px;border-radius:var(--r-s);border:2px solid var(--line);background:var(--paper);font:inherit;font-weight:700;font-size:1.0625rem;cursor:pointer;color:var(--ink)}.q.reverse .ans[data-ans=มี][aria-pressed=true]{background:var(--fail);border-color:var(--fail)}.ans:disabled{cursor:default}.ans:disabled:not([aria-pressed=true]){opacity:.55}.q[data-item^=ORG] .answers:not(.corr){grid-template-columns:1fr 1fr}.answers.corr{margin-top:.5rem;grid-template-columns:1fr 1fr}.ans.small-ans{min-height:44px;font-size:.9375rem}.corr-hint{grid-column:1 / -1;font-size:.8125rem;color:var(--muted)}.answers.corr .ans[aria-pressed=true][data-corr=ไม่ถูกต้อง]{background:var(--warn-strong);border-color:var(--warn-strong)}.na,.na .btn{margin-top:.5rem}details{margin-top:.5rem}summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:var(--ink-2)}.q-status{margin:.375rem 0 0;font-size:.8125rem;color:var(--muted)}.filters{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;align-items:end}.seg{display:flex;flex-wrap:wrap;gap:.5rem}.seg legend{width:100%}.seg-opt{position:relative}.seg-opt input{position:absolute;opacity:0;inset:0;min-height:0;margin:0}.seg-opt span{display:inline-flex;align-items:center;min-height:48px;padding:.5rem 1rem;border:2px solid var(--line);border-radius:var(--r-s);font-weight:600;background:var(--paper)}.seg-opt input:checked+span{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.seg-opt input:disabled+span{opacity:.45}.seg-opt input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.checks{display:grid;gap:.25rem}.check{display:flex;align-items:flex-start;gap:.625rem;font-weight:400;min-height:44px;padding:.25rem 0}.check input{width:22px;height:22px;min-height:22px;margin:.25rem 0 0;flex:none}.check small{color:var(--muted)}.gate{min-height:100dvh;display:grid;place-items:center;padding:1rem}.gate .panel{max-width:420px;width:100%}.or{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.875rem;margin:1rem 0 .5rem}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.qr-card{border:1px solid var(--line);border-radius:var(--r-m);padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.qr-card.off{opacity:.5}.qr-img svg{width:100%;height:auto;display:block}#toasts{position:fixed;z-index:50;left:.75rem;right:.75rem;bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));display:grid;gap:.5rem;pointer-events:none}.toast{padding:.75rem 1rem;border-radius:var(--r-m);background:var(--bar);color:var(--on-bar);box-shadow:0 4px 16px var(--shadow-c);pointer-events:auto}.toast.error{background:var(--fail)}.toast.ok{background:var(--pass)}.error-panel{border-color:var(--fail)}@media(min-width:600px){.grid2{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}.tiles{grid-template-columns:repeat(4,1fr)}.answers{max-width:420px}#toasts{left:auto;width:380px}}@media(min-width:1024px){.shell{grid-template-columns:200px minmax(0,1fr);grid-template-rows:auto 1fr;padding-bottom:0}.topbar{grid-column:1 / -1}.nav{position:sticky;inset:auto;height:calc(100dvh - 56px);flex-direction:column;border-top:0;border-right:1px solid var(--line);padding:.75rem 0}.nav a{flex:none;flex-direction:row;justify-content:flex-start;gap:.75rem;padding:.625rem 1.25rem;font-size:.9375rem}.nav a.active{box-shadow:inset 4px 0 0 var(--tag);background:var(--field)}.view{padding:1.5rem 2rem 3rem}#toasts{bottom:1rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.table-wrap td:first-child{min-width:9rem}.ev-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.625rem}.ev-add{cursor:pointer}.ev-mini{width:48px;height:48px;padding:0;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden;background:var(--soft);cursor:pointer;font:inherit;font-size:.75rem;font-weight:700}.ev-mini img{width:100%;height:100%;object-fit:cover;display:block}.ev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.ev-tile{display:flex;flex-direction:column;gap:.25rem;padding:.375rem;border:1px solid var(--line);border-radius:var(--r-m);background:var(--paper);cursor:pointer;font:inherit;text-align:left;min-width:0}.ev-tile img,.ev-pdf{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--r-s);background:var(--soft);display:grid;place-items:center;font-weight:700;color:var(--ink-2)}.ev-name{font-size:.8125rem;font-weight:600;overflow-wrap:anywhere}.ev-time{font-size:.75rem;color:var(--muted)}.inline-field{display:flex;gap:.5rem;align-items:center;margin-top:.25rem}.inline-field select{margin-top:0;flex:1}.master-list{margin:0 0 1rem;padding-left:1.5rem}.master-list li{padding:.5rem 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.25rem .75rem;align-items:center}.master-list .m-title{flex:1 1 14rem;overflow-wrap:anywhere}.modal{position:fixed;inset:0;z-index:60;background:var(--scrim);display:grid;place-items:center;padding:1rem}.modal-box{background:var(--paper);border-radius:var(--r-m);padding:1.25rem;max-width:420px;width:100%}.temp-pw{font:700 1.5rem/1.3 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;background:var(--tag-soft);border:2px dashed var(--tag);border-radius:var(--r-s);padding:.75rem;text-align:center;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.alt-login{margin-top:1rem}.alt-login form{margin-top:.5rem}a.role-line{color:inherit;text-decoration:underline dotted}.bar.wide{grid-template-columns:minmax(6rem,10rem) 1fr 3.5rem auto}.bar.wide small{grid-column:2 / -1;margin-top:-.25rem}.exec ul,.exec ol{padding-left:1.25rem}.exec li{margin-bottom:.5rem;line-height:1.7}.report h1{margin-top:.5rem}.report h2{margin-top:1.25rem}@media print{@page{size:A4;margin:12mm}body{background:#fff;font-size:11pt}.topbar,.nav,.no-print,.tabs,#toasts,.actions button,.page-head select,.inline-field{display:none!important}.shell{display:block;padding:0}.view{max-width:none;padding:0}.panel{border:0;padding:0;margin-bottom:.75rem;break-inside:avoid}.table-wrap{overflow:visible}.table-wrap table{min-width:0}th,td{font-size:9pt;padding:3px 4px}tr{break-inside:avoid}a{color:inherit;text-decoration:none}.bar i:after{-webkit-print-color-adjust:exact;print-color-adjust:exact}.pill,.tile{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.mc-item{border-top:1px solid var(--line);padding:.75rem 0}.mc-item.off{opacity:.55}.mc-item textarea{margin:.375rem 0}.mc-row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:end;margin-bottom:.5rem}.mc-row select{width:auto;min-width:9rem}.mc-add{margin-top:.75rem}.mc-add form{margin-top:.5rem}#offline-banner{position:fixed;z-index:45;left:0;right:0;top:0;padding:calc(.375rem + env(safe-area-inset-top)) .75rem .375rem;display:flex;gap:.75rem;align-items:center;justify-content:center;font-size:.875rem;font-weight:600}#offline-banner.offline{background:var(--ink-2);color:var(--paper)}#offline-banner.online{background:var(--tag);color:var(--ink)}#offline-banner .btn{min-height:34px}.q.queued{border-left-color:var(--tag)}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cal-head h2{margin:0}.cal-grid{display:grid;grid-template-columns:1fr;gap:.375rem;margin-top:.75rem}.cal-dow,.cal-day.pad,.cal-day:not(.has):not(.today){display:none}.cal-day{border:1px solid var(--line);border-radius:var(--r-s);padding:.375rem .5rem;min-width:0}.cal-day.today{border-color:var(--tag);box-shadow:inset 0 0 0 1px var(--tag)}.cal-date{font-size:.8125rem;color:var(--muted);font-weight:600}.cal-ev{display:block;margin-top:.25rem;padding:.375rem .5rem;border-radius:6px;background:var(--soft);color:var(--ink);text-decoration:none;font-size:.875rem;font-weight:600;overflow-wrap:anywhere;min-height:40px}.cal-ev small{display:block;font-weight:400}.cal-ev.approved{background:var(--pass-soft)}.cal-ev.in_progress{background:var(--info-soft)}.cal-ev.submitted{background:var(--tag-soft)}.cal-ev.returned{background:var(--fail-soft)}@media(min-width:768px){.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.cal-dow{display:block;text-align:center;font-size:.8125rem;color:var(--muted);font-weight:600}.cal-day,.cal-day.pad,.cal-day:not(.has):not(.today){display:block;min-height:5.5rem}.cal-day.pad{border:0}}.capa-ev{display:grid;gap:1rem}@media(min-width:768px){.capa-ev{grid-template-columns:1fr 1fr}}.capa-col h3{margin-top:0}.ny-step{border:1px solid var(--line);border-radius:var(--r-s);padding:.75rem}.ny-step legend{padding:0 .375rem}.bar.wide .issue-q{grid-column:1 / -1;font-size:.875rem;line-height:1.5;overflow-wrap:anywhere;margin:-.125rem 0 .5rem}.bars .bar.wide{border-bottom:1px solid var(--line);padding-bottom:.25rem}:root{--ink: #0F2E35;--ink-2: #2B4E55;--field: #F3F6F5;--paper: #FFFFFF;--line: #D8E1DF;--tag: #F2B705;--tag-soft: #FFF5D1;--teal: #0E8C7F;--teal-soft: #DDF2EF;--pass: #2E7D4F;--pass-soft: #E1F2E7;--fail: #C2362B;--fail-soft: #FBE5E2;--warn: #E09E00;--warn-soft: #FFF1CC;--muted: #56686B;--r-s: 8px;--r-m: 12px;--lvl-org: #0F2E35;--lvl-dept: #0E8C7F;--lvl-off: #5B5FC7}body{font-feature-settings:"tnum" 1}h1{font-size:1.5rem;letter-spacing:-.01em}.topbar{background:var(--bar);box-shadow:inset 0 -3px 0 var(--tag)}.nav a.active{color:var(--ink)}@media(min-width:1024px){.nav{background:var(--paper)}.nav a{border-radius:0 999px 999px 0;margin-right:.75rem}.nav a.active{background:var(--teal-soft);box-shadow:inset 4px 0 0 var(--tag)}.nav a:hover:not(.active){background:var(--field)}}.panel{border-color:var(--line);border-radius:var(--r-m)}.btn{border-radius:var(--r-s);transition:background-color .15s,border-color .15s}.btn.primary{background:var(--primary);border-color:var(--primary)}.btn.primary:hover{background:var(--primary-hover)}.btn:not(.primary):not(.danger):hover{border-color:var(--teal);color:var(--teal)}a{color:var(--teal)}.rows a,.nav a,.tile,.brand,.cal-ev{color:inherit}.tabs [aria-selected=true]{border-bottom-color:var(--tag);color:var(--ink)}.tile{border-left:4px solid var(--line)}.tile:nth-child(1){border-left-color:var(--ink)}.tile:nth-child(2){border-left-color:var(--pass)}.tile:nth-child(3){border-left-color:var(--teal)}.tile:nth-child(4){border-left-color:var(--tag)}.tile.alert{border-left-color:var(--fail)}.tile strong{font-size:2rem;letter-spacing:-.02em}.rows li{border-left:3px solid transparent;padding-left:.5rem}.rows li[data-lvl=องค์กร]{border-left-color:var(--lvl-org)}.rows li[data-lvl=ฝ่าย]{border-left-color:var(--lvl-dept)}.rows li[data-lvl=สำนักงาน]{border-left-color:var(--lvl-off)}table th{background:var(--field)}.import-box summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center;gap:.5rem}.imp-icon{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--teal-soft);color:var(--teal);font-weight:700}.imp-sum{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.chip.ok{background:var(--pass-soft);color:var(--pass)}.chip.info{background:var(--teal-soft);color:var(--teal-text)}.chip.bad{background:var(--fail-soft);color:var(--fail)}.imp-table{max-height:360px;overflow:auto}tr.imp-bad td{background:var(--fail-soft)!important}tr.imp-skip td{color:var(--muted)}.dash-hero{display:grid;gap:1rem;grid-template-columns:1fr;align-items:stretch;margin-bottom:1rem}.meter{background:var(--bar);color:var(--on-bar);border-radius:var(--r-m);padding:1rem 1.25rem 1.25rem;position:relative;overflow:hidden}.meter h2{color:var(--on-bar);font-size:1rem;margin:0;font-weight:600}.meter svg{display:block;width:100%;max-width:340px;margin:.25rem auto 0}.meter .m-val{font-size:2.75rem;font-weight:700;letter-spacing:-.03em;text-align:center;line-height:1;margin-top:-.5rem}.meter .m-lvl{text-align:center;font-weight:600;margin-top:.375rem}.meter .m-note{text-align:center;font-size:.8125rem;opacity:.75;margin-top:.25rem}.kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);padding:.875rem 1rem;display:flex;flex-direction:column;gap:.125rem;text-decoration:none;color:inherit}.kpi b{font-size:1.75rem;letter-spacing:-.02em;line-height:1.1}.kpi span{font-size:.875rem;color:var(--muted)}.kpi .kbar{height:6px;border-radius:3px;background:var(--field);overflow:hidden;margin-top:.375rem}.kpi .kbar i{display:block;height:100%;background:var(--teal);width:var(--w)}@media(min-width:900px){.dash-hero{grid-template-columns:minmax(280px,380px) 1fr}}.org-strip{display:grid;gap:.75rem;grid-template-columns:auto 1fr;align-items:center}.org-verdict{font-size:1.25rem;font-weight:700;padding:.5rem .875rem;border-radius:var(--r-s);white-space:nowrap}.org-verdict.ok{background:var(--pass-soft);color:var(--pass)}.org-verdict.minor{background:var(--warn-soft);color:var(--warn-text)}.org-verdict.major{background:var(--fail-soft);color:var(--fail)}.org-verdict.none{background:var(--field);color:var(--muted)}.ubars{display:grid;gap:.625rem}.ubar{display:grid;grid-template-columns:minmax(5rem,9rem) 1fr 3.75rem;gap:.5rem;align-items:center}.ubar .track{position:relative;height:14px;border-radius:7px;background:var(--field);overflow:hidden}.ubar .track i{position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:7px}.ubar .track i.l4{background:var(--pass)}.ubar .track i.l3{background:var(--teal)}.ubar .track i.l2{background:var(--warn)}.ubar .track i.l1{background:var(--fail)}.ubar .track:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - 1px),var(--paper) 50%,transparent calc(50% + 1px),transparent calc(70% - 1px),var(--paper) 70%,transparent calc(70% + 1px),transparent calc(85% - 1px),var(--paper) 85%,transparent calc(85% + 1px))}.ubar b{text-align:right;font-size:.9375rem}.ubar .uname{font-weight:600;overflow-wrap:anywhere;font-size:.9375rem}.legend{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.8125rem;color:var(--muted);margin-top:.75rem}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:.25rem;vertical-align:-1px}.split2{display:grid;gap:1rem}@media(min-width:900px){.split2{grid-template-columns:1fr 1fr}}.donut-wrap{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.donut-wrap svg{width:140px;height:140px;flex:none}.donut-wrap ul{list-style:none;margin:0;padding:0;display:grid;gap:.375rem;font-size:.9375rem}.donut-wrap li i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:.5rem;vertical-align:-1px}.issues{list-style:none;counter-reset:iss;margin:0;padding:0}.issues li{counter-increment:iss;display:grid;grid-template-columns:2.25rem 1fr auto;gap:.25rem .75rem;padding:.75rem 0;border-top:1px solid var(--line);align-items:start}.issues li:first-child{border-top:0}.issues li:before{content:counter(iss);width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-weight:700;font-size:.875rem}.issues .iq-id{font-weight:700}.issues .iq-n{font-weight:700;font-size:1.125rem;color:var(--fail)}.issues .issue-q{grid-column:2 / -1;font-size:.9375rem;line-height:1.55;overflow-wrap:anywhere}.memo{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}.memo-head{background:var(--bar);color:var(--on-bar);padding:1.25rem 1.25rem 1rem;box-shadow:inset 0 -4px 0 var(--tag)}.memo-head h2{color:var(--on-bar);font-size:1.25rem;margin:0 0 .25rem}.memo-head p{margin:0;opacity:.8;font-size:.875rem}.memo-verdict{padding:1rem 1.25rem;font-size:1.125rem;font-weight:600;border-bottom:1px solid var(--line)}.memo-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--line)}.memo-kpis div{padding:.875rem 1.25rem;border-right:1px solid var(--line);border-top:1px solid var(--line)}.memo-kpis b{display:block;font-size:1.5rem}.memo-kpis span{font-size:.8125rem;color:var(--muted)}@media(min-width:768px){.memo-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.memo-kpis div{border-top:0}}.memo-body{display:grid;gap:0}@media(min-width:900px){.memo-body{grid-template-columns:1fr 1fr}.memo-body section+section{border-left:1px solid var(--line)}}.memo-body section{padding:1rem 1.25rem}.memo-body h3{margin:0 0 .75rem;color:var(--ink)}.status-list{list-style:none;margin:0;padding:0;display:grid;gap:.625rem}.status-list li{display:grid;grid-template-columns:12px 1fr;gap:.625rem;align-items:start;line-height:1.6}.status-list li:before{content:"";width:10px;height:10px;border-radius:50%;margin-top:.45rem;background:var(--teal)}.status-list li.bad:before{background:var(--fail)}.status-list li.warn:before{background:var(--warn)}.status-list li.good:before{background:var(--pass)}.actions-list{margin:0;padding:0;list-style:none;display:grid;gap:.625rem}.actions-list li{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:var(--r-s);padding:.625rem .75rem;line-height:1.6}.actions-list li.p-high{border-left-color:var(--fail)}.actions-list li.p-mid{border-left-color:var(--warn)}.prio{display:inline-block;font-size:.75rem;font-weight:700;padding:0 .5rem;border-radius:999px;margin-right:.375rem;background:var(--teal-soft);color:var(--teal-text)}.p-high .prio{background:var(--fail-soft);color:var(--fail)}.p-mid .prio{background:var(--warn-soft);color:var(--warn-text)}@media print{.meter,.memo-head{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.kpi{justify-content:center}.kpi b{font-size:2.25rem}@media(min-width:900px){.kpi{padding:1.25rem}}:root{--field: #F1F5F9;--paper: #FFFFFF;--line: #DCE3EC;--ink: #0F172A;--ink-2: #334155;--muted: #52637A;--bar: #0F172A;--on-bar: #E2E8F0;--primary: #0E7490;--on-primary: #FFFFFF;--primary-hover: #155E75;--tag: #22D3EE;--tag-soft: #FEF3C7;--teal: #0E7490;--teal-soft: #CFFAFE;--teal-text: #155E75;--pass: #15803D;--pass-soft: #DCFCE7;--fail: #DC2626;--fail-soft: #FEE2E2;--warn: #D97706;--warn-soft: #FEF3C7;--warn-text: #92400E;--warn-strong: #B45309;--warn-stripe: #FDE68A;--soft: #E2E8F0;--info-soft: #E0F2FE;--info-text: #075985;--zebra: #F8FAFC;--notice-bg: #ECFEFF;--input-line: #94A3B8;--shadow-c: #0F172A33;--scrim: #0F172A99;--focus: #0891B2;--lvl-org: #0F172A;--lvl-dept: #0891B2;--lvl-off: #7C3AED;--lime: #65A30D;color-scheme:light}:root[data-theme=dark]{--field: #0B1220;--paper: #111A2B;--line: #1E2A40;--ink: #E2E8F0;--ink-2: #CBD5E1;--muted: #94A3B8;--bar: #0A101C;--on-bar: #E2E8F0;--primary: #22D3EE;--on-primary: #06202A;--primary-hover: #67E8F9;--tag: #22D3EE;--tag-soft: #2A1E0E;--teal: #22D3EE;--teal-soft: #0E2A3A;--teal-text: #67E8F9;--pass: #4ADE80;--pass-soft: #0F2A1A;--fail: #F87171;--fail-soft: #2E0F16;--warn: #FBBF24;--warn-soft: #2A1E0E;--warn-text: #FCD34D;--warn-strong: #B45309;--warn-stripe: #3A2A10;--soft: #1E2A40;--info-soft: #0E2A3A;--info-text: #67E8F9;--zebra: #0F1726;--notice-bg: #0E2A3A;--input-line: #334155;--shadow-c: #00000080;--scrim: #000000B3;--focus: #22D3EE;--lvl-org: #E2E8F0;--lvl-dept: #22D3EE;--lvl-off: #A78BFA;--lime: #A3E635;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--field: #0B1220;--paper: #111A2B;--line: #1E2A40;--ink: #E2E8F0;--ink-2: #CBD5E1;--muted: #94A3B8;--bar: #0A101C;--on-bar: #E2E8F0;--primary: #22D3EE;--on-primary: #06202A;--primary-hover: #67E8F9;--tag: #22D3EE;--tag-soft: #2A1E0E;--teal: #22D3EE;--teal-soft: #0E2A3A;--teal-text: #67E8F9;--pass: #4ADE80;--pass-soft: #0F2A1A;--fail: #F87171;--fail-soft: #2E0F16;--warn: #FBBF24;--warn-soft: #2A1E0E;--warn-text: #FCD34D;--warn-strong: #B45309;--warn-stripe: #3A2A10;--soft: #1E2A40;--info-soft: #0E2A3A;--info-text: #67E8F9;--zebra: #0F1726;--notice-bg: #0E2A3A;--input-line: #334155;--shadow-c: #00000080;--scrim: #000000B3;--focus: #22D3EE;--lvl-org: #E2E8F0;--lvl-dept: #22D3EE;--lvl-off: #A78BFA;--lime: #A3E635;color-scheme:dark}}body{background:var(--field);color:var(--ink)}input,select,textarea{background:var(--paper);color:var(--ink);border-color:var(--input-line)}.panel,.tile,.kpi,.q,.modal-box,.memo,.rows li,.cal-day,.mc-item,.imp-table{background-color:var(--paper)}.rows li{background:transparent}.nav{background:var(--paper);border-color:var(--line)}.nav a{color:var(--muted)}.nav a.active{color:var(--primary)}@media(min-width:1024px){.nav a.active{background:var(--teal-soft);box-shadow:inset 4px 0 0 var(--tag);color:var(--teal-text)}}.topbar{box-shadow:inset 0 -2px 0 var(--tag)}.topbar .mark{background:var(--tag)}a{color:var(--teal-text)}.rows a,.nav a,.tile,.brand,.cal-ev,.kpi{color:inherit}.btn{background:var(--paper);color:var(--ink);border-color:var(--line)}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn:not(.primary):not(.danger):hover{border-color:var(--primary);color:var(--teal-text)}.btn.ghost{background:transparent}.btn.danger{color:var(--fail);border-color:var(--fail);background:transparent}.ans{background:var(--paper);color:var(--ink);border-color:var(--line)}.ans[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.seg-opt span{background:var(--paper);color:var(--ink);border-color:var(--line)}.seg-opt input:checked+span{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.tabs [aria-selected=true]{border-bottom-color:var(--primary);color:var(--ink)}.pill{background:var(--soft);color:var(--ink-2)}.pill.approved{background:var(--pass-soft);color:var(--pass)}.pill.returned{background:var(--fail-soft);color:var(--fail)}.pill.in_progress,.pill.open{background:var(--teal-soft);color:var(--teal-text)}.pill.submitted,.pill.warn{background:var(--warn-soft);color:var(--warn-text)}.notice{background:var(--notice-bg);border-left-color:var(--primary);color:var(--ink)}.notice.warn{background:var(--warn-soft);border-left-color:var(--warn)}.tile{border-left-color:var(--line)}.tile:nth-child(1){border-left-color:var(--primary)}.meter{background:var(--bar);color:var(--on-bar);border:1px solid var(--line)}.memo-head{background:var(--bar);color:var(--on-bar);box-shadow:inset 0 -3px 0 var(--tag)}.issues li:before{background:var(--primary);color:var(--on-primary)}.issues .iq-n{color:var(--fail)}.kpi.good b{color:var(--pass)}.kpi.bad b{color:var(--fail)}.kpi .kbar i{background:var(--primary)}table th{background:var(--zebra);color:var(--ink-2)}td,th{border-color:var(--line)}tbody tr:nth-child(2n) td{background:var(--zebra)}.toast{background:var(--bar);color:var(--on-bar);border:1px solid var(--line)}.toast.error{background:var(--fail-soft);color:var(--fail);border-color:var(--fail)}.toast.ok{background:var(--pass-soft);color:var(--pass);border-color:var(--pass)}.temp-pw{background:var(--warn-soft);border-color:var(--warn);color:var(--ink)}.empty,.muted{color:var(--muted)}.theme-toggle{min-width:44px;min-height:44px;display:inline-grid;place-items:center;border-radius:999px;border:1px solid #ffffff40;background:transparent;color:var(--on-bar);cursor:pointer;padding:0}.theme-toggle:hover{border-color:var(--tag);color:var(--tag)}.theme-toggle svg{width:20px;height:20px}.gate .theme-toggle{position:absolute;top:12px;right:12px;color:var(--ink);border-color:var(--line)}.donut-wrap svg text{fill:var(--ink)}.donut-track{stroke:var(--soft)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media print{:root,:root[data-theme=dark]{--field: #FFFFFF;--paper: #FFFFFF;--line: #DCE3EC;--ink: #0F172A;--ink-2: #334155;--muted: #52637A;--zebra: #F8FAFC;--soft: #E2E8F0;color-scheme:light}.theme-toggle{display:none!important}}.gate{position:relative}.view:focus,.view:focus-visible,main:focus,main:focus-visible{outline:none}.topbar{gap:.5rem}.topbar .who{min-width:0;flex:1 1 auto;overflow:hidden}.topbar .who .site-name,.topbar .who .role-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.topbar .theme-toggle,.topbar #logout{flex:none}@media(max-width:420px){.topbar .brand span:last-child{display:none}.topbar .theme-toggle{min-width:40px;min-height:40px}}
