body,html{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}:root{--cream-50:#fefdfb;--cream-100:#faf9f5;--cream-200:#f5f4ee;--cream-300:#f0eee6;--cream-400:#e9e6dc;--line-200:#e8e6de;--line-300:#dad7cd;--line-400:#c7c3b6;--ink-900:#191917;--ink-800:#262624;--ink-700:#3d3d3a;--ink-600:#55534e;--ink-500:#6e6c66;--ink-400:#8c8a83;--ink-300:#aba9a1;--clay-700:#a6431f;--clay-600:#c15f3c;--clay-500:#d97757;--clay-400:#e39274;--clay-200:#f2d9ce;--clay-100:#faede6;--green-600:#3f6f4f;--green-500:#4a7c59;--green-100:#e8f0e9;--amber-600:#9a6420;--amber-500:#b8752b;--amber-100:#fbf1e1;--red-600:#9c3a32;--red-500:#b4433a;--red-100:#f9e9e7;--blue-600:#2f5c8a;--blue-500:#3b6ea5;--blue-100:#e8eff7;--teal-600:#2e6b72;--teal-500:#3d8891;--teal-100:#e6f1f2;--bg-app:var(--cream-100);--bg-surface:#fff;--bg-surface-2:var(--cream-200);--bg-raised:var(--cream-300);--bg-hover:var(--cream-200);--bg-active:var(--cream-400);--bg-inset:var(--cream-200);--bg-overlay:rgba(25,25,23,0.55);--border-subtle:var(--line-200);--border-default:var(--line-300);--border-strong:var(--line-400);--border-focus:var(--clay-500);--text-primary:var(--ink-900);--text-secondary:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--text-inverse:#fff;--text-accent:var(--clay-700);--text-link:var(--clay-700);--accent:var(--clay-500);--accent-hover:var(--clay-600);--accent-press:var(--clay-700);--accent-soft:var(--clay-100);--accent-soft-border:var(--clay-200);--accent-on:#fff;--success:var(--green-500);--success-soft:var(--green-100);--success-text:var(--green-600);--warning:var(--amber-500);--warning-soft:var(--amber-100);--warning-text:var(--amber-600);--danger:var(--red-500);--danger-soft:var(--red-100);--danger-text:var(--red-600);--info:var(--blue-500);--info-soft:var(--blue-100);--info-text:var(--blue-600);--brand-deep:#1d4b57;--brand:var(--teal-600);--brand-soft:var(--teal-100);--data-1:#2e5e86;--data-2:#4c8fa8;--data-3:#6e9e63;--data-4:#c08a2e;--data-5:#b4433a;--font-sans:"Inter","Noto Sans Thai",-apple-system,"Segoe UI",system-ui,sans-serif;--font-serif:"Source Serif 4",Georgia,serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;--font-legacy-slab:"Roboto Slab",serif;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:20px;--fs-3xl:24px;--fs-4xl:30px;--fs-5xl:38px;--lh-tight:1.2;--lh-snug:1.35;--lh-base:1.5;--lh-loose:1.65;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-tight:-0.01em;--tracking-wide:0.04em;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-full:999px;--sh-xs:0 1px 2px rgba(25,25,23,0.05);--sh-sm:0 1px 3px rgba(25,25,23,0.07),0 1px 2px rgba(25,25,23,0.04);--sh-md:0 4px 12px rgba(25,25,23,0.07),0 1px 3px rgba(25,25,23,0.05);--sh-lg:0 12px 32px rgba(25,25,23,0.1),0 2px 8px rgba(25,25,23,0.05);--sh-xl:0 24px 56px rgba(25,25,23,0.16);--sh-inset:inset 0 1px 2px rgba(25,25,23,0.05);--ring-focus:0 0 0 3px rgba(217,119,87,0.32);--ring-danger:0 0 0 3px rgba(180,67,58,0.28);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--ease:cubic-bezier(0.2,0,0.1,1);--dur-fast:120ms;--dur-base:200ms;--dur-slow:320ms;--rail-w:72px;--header-h:64px;--content-indent:60px;--z-hero:1;--z-sidebar:10;--z-modal:1000;--z-toast:1200}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms}}.login-page{--lg-ground:#174a5b;--lg-page:#eef4f8;--lg-surface:#fff;--lg-surface-2:#e7eff5;--lg-ink:#174a5b;--lg-ink-2:#2e5f6e;--lg-muted:#496c79;--lg-rule:#cbdae4;--lg-rule-strong:#b3c8d6;--lg-s1:#4797a8;--lg-accent-ink:#2a7c8d;--lg-s2:#d0c0a9;--lg-s1-soft:rgba(71,151,168,0.16);--lg-accent-fill:#174a5b;--lg-accent-hover:#205e73;--lg-on-accent:#fff;--lg-critical:#b4433a;--lg-critical-ink:#9c3a32;--lg-critical-bg:#f9e9e7;--lg-shadow:0 1px 2px rgba(23,74,91,0.07);--lg-shadow-lift:0 18px 44px rgba(23,74,91,0.16);--lg-ring:rgba(71,151,168,0.35);--lg-sans:"Noto Sans Thai",system-ui,-apple-system,"Segoe UI","Leelawadee UI",Tahoma,sans-serif;color-scheme:dark}.login-page,.login-page *,.login-page :after,.login-page :before{box-sizing:border-box}.login-page{position:relative;min-height:100vh;min-height:100dvh;max-height:100dvh;overflow-y:auto;display:grid;justify-items:center;align-items:safe center;padding:32px 20px;background:var(--lg-ground);color:var(--lg-ink);font-family:var(--lg-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.login-logo{top:20px;left:22px;width:140px;height:auto;display:block;filter:drop-shadow(0 0 7px rgba(23,74,91,.95)) drop-shadow(0 0 16px rgba(23,74,91,.75))}.login-logo,.login-progress{position:fixed;z-index:3;pointer-events:none}.login-progress{left:50%;bottom:15%;transform:translateX(-50%);width:min(196px,44vw);height:4px;border-radius:999px;background:hsla(0,0%,100%,.22);overflow:hidden;opacity:1;transition:opacity .45s ease}.login-progress.is-done{opacity:0}.login-progress i{display:block;width:100%;height:100%;border-radius:inherit;background:hsla(0,0%,100%,.92);transform:scaleX(0);transform-origin:left center;animation:lg-progress var(--splash,3s) linear forwards}@keyframes lg-progress{to{transform:scaleX(1)}}.lg-net{position:fixed;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;transform:translate3d(var(--px,0),var(--py,0),0);transition:transform .9s cubic-bezier(.22,.72,.3,1);will-change:transform}.lg-net svg{width:min(94vw,1020px);height:min(76vh,760px)}.lg-glow{opacity:0;transition:opacity .5s ease}.lg-net.is-live .lg-glow{opacity:1}@keyframes lg-turn{to{transform:rotate(1turn)}}@keyframes lg-turn-back{to{transform:rotate(-1turn)}}@keyframes lg-run{0%{stroke-dashoffset:106;opacity:0}14%{opacity:.9}76%{opacity:.9}to{stroke-dashoffset:-6;opacity:0}}@keyframes lg-twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes lg-breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.17)}}.lg-spin,.lg-spin-r{transform-box:view-box;transform-origin:var(--ox) var(--oy)}.lg-spin{animation:lg-turn 150s linear infinite}.lg-spin-r{animation:lg-turn-back 96s linear infinite}.lg-pulse{stroke-dasharray:6 100;stroke-dashoffset:106;opacity:0;animation:lg-run var(--d) cubic-bezier(.45,0,.55,1) var(--t) infinite}.lg-twk{animation:lg-twinkle var(--d) ease-in-out var(--t) infinite}.lg-core{transform-box:fill-box;transform-origin:center;animation:lg-breathe 6.5s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.lg-core,.lg-pulse,.lg-spin,.lg-spin-r,.lg-twk{animation:none}.lg-pulse{display:none}.lg-net{transition:none;transform:none}.lg-glow{display:none}}@media (max-width:820px){.lg-net svg{width:96vw;height:min(72vw,420px)}}.login-shell{opacity:0;visibility:hidden;transform:translateY(14px) scale(.985);transition:opacity .85s cubic-bezier(.22,.72,.3,1),transform .85s cubic-bezier(.22,.72,.3,1),visibility 0s linear .85s}.login-shell.is-revealed{opacity:1;visibility:visible;transform:none;transition-delay:0s,0s,0s}.login-shell{color-scheme:light;position:relative;z-index:2;width:100%;max-width:430px;border:1px solid var(--lg-rule);border-radius:16px;background:var(--lg-surface);box-shadow:var(--lg-shadow-lift);overflow:hidden}.login-main{padding:38px 36px 32px;display:flex;flex-direction:column}.login-eyebrow{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--lg-accent-ink)}.login-title{margin:0 0 8px;font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.25;color:var(--lg-ink)}.login-sub{margin:0 0 26px;font-size:14px;color:var(--lg-muted)}.login-field{margin-bottom:16px}.login-label{display:block;margin-bottom:7px;font-size:12.5px;font-weight:600;letter-spacing:.01em;color:var(--lg-ink-2)}.login-input-wrap{position:relative;display:block}.login-page input[type=password],.login-page input[type=text]{width:100%;height:46px;padding:0 14px;border:1px solid var(--lg-rule-strong);border-radius:10px;background:var(--lg-page);color:var(--lg-ink);font-family:inherit;font-size:15px;line-height:1.4;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.login-input-wrap.has-toggle input{padding-right:46px}.login-page input::placeholder{color:var(--lg-muted);opacity:1}.login-page input:focus,.login-page input:hover:not(:disabled){border-color:var(--lg-s1)}.login-page input:focus{outline:none;box-shadow:0 0 0 3px var(--lg-ring)}.login-page input:disabled{opacity:.6;cursor:not-allowed}.login-page input[aria-invalid=true]{border-color:var(--lg-critical)}.login-page input:-webkit-autofill,.login-page input:-webkit-autofill:focus,.login-page input:-webkit-autofill:hover{-webkit-text-fill-color:var(--lg-ink);-webkit-box-shadow:0 0 0 1000px var(--lg-page) inset;caret-color:var(--lg-ink);-webkit-transition:background-color 9999s ease-out 0s;transition:background-color 9999s ease-out 0s}.login-reveal{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--lg-muted);cursor:pointer;transition:color .18s ease,background-color .18s ease}.login-reveal:hover:not(:disabled){color:var(--lg-ink);background:var(--lg-s1-soft)}.login-reveal:focus-visible{outline:none;box-shadow:0 0 0 3px var(--lg-ring)}.login-reveal:disabled{cursor:not-allowed;opacity:.5}.login-reveal svg{width:17px;height:17px}.login-row{display:flex;align-items:center;justify-content:space-between;grid-gap:12px;gap:12px;margin:4px 0 22px}.login-remember{display:inline-flex;align-items:center;grid-gap:9px;gap:9px;font-size:13.5px;color:var(--lg-ink-2);cursor:pointer;-webkit-user-select:none;user-select:none}.login-remember input{width:16px;height:16px;margin:0;accent-color:var(--lg-s1);cursor:pointer}.login-remember input:focus-visible{outline:2px solid var(--lg-s1);outline-offset:2px}.login-remember input:disabled,.login-remember input:disabled+span{cursor:not-allowed;opacity:.6}.login-submit{width:100%;height:48px;display:inline-flex;align-items:center;justify-content:center;grid-gap:10px;gap:10px;border:0;border-radius:10px;background:var(--lg-accent-fill);color:var(--lg-on-accent);font-family:inherit;font-size:15px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:var(--lg-shadow);transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.login-submit:hover:not(:disabled){background:var(--lg-accent-hover);transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.28)}.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit:focus-visible{outline:none;box-shadow:0 0 0 3px var(--lg-ring)}.login-submit:disabled{cursor:not-allowed;opacity:.72}.login-spinner{width:16px;height:16px;flex:none;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}.login-error{display:flex;align-items:flex-start;grid-gap:10px;gap:10px;margin:0 0 18px;padding:12px 14px;border:1px solid var(--lg-critical);border-radius:10px;background:var(--lg-critical-bg);color:var(--lg-critical-ink);font-size:13.5px;line-height:1.55;animation:login-rise .34s cubic-bezier(.22,.72,.3,1)}.login-error svg{width:16px;height:16px;flex:none;margin-top:2px}.login-foot{margin-top:22px;padding-top:18px;border-top:1px solid var(--lg-rule);font-size:12px;color:var(--lg-muted)}.login-foot-version{font-size:11.5px;letter-spacing:.02em}.login-shell.is-revealed .login-anim{animation:login-rise .46s cubic-bezier(.22,.72,.3,1) backwards;animation-delay:calc(.18s + var(--i, 0)*65ms)}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (max-width:860px){.login-page{padding:72px 16px 32px;align-items:start}.login-logo{top:16px;left:16px;width:114px}.login-main{padding:30px 28px 28px}.login-title{font-size:23px}}@media (max-width:380px){.login-main{padding:26px 22px}}.login-overlay{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;grid-gap:16px;gap:16px;background:rgba(23,74,91,.46);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:login-fade .25s ease}.login-overlay-spinner{width:38px;height:38px;border:3px solid hsla(0,0%,100%,.34);border-top-color:#fff;border-radius:50%;animation:login-spin .8s linear infinite}.login-overlay-text{font-family:var(--lg-sans);font-size:13px;letter-spacing:.04em;color:#fff}@keyframes login-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.login-page *,.login-page :after,.login-page :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.login-overlay-spinner,.login-spinner{animation:login-spin 1.6s linear infinite!important}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 1px 3px rgba(0,0,0,.1)}50%{transform:scale(1.05);box-shadow:0 2px 6px rgba(0,0,0,.2)}to{transform:scale(1);box-shadow:0 1px 3px rgba(0,0,0,.1)}}.modern-notification{animation:slideInRight .3s ease-out;position:relative;overflow:hidden}.modern-notification:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,.1))}.modern-notification.removing{animation:slideOutRight .3s ease-in}.modern-notification:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.15)}.modern-notification[style*=success]{background:linear-gradient(135deg,#4caf50,#45a049);border-left:4px solid #2e7d32}.modern-notification[style*=error]{background:linear-gradient(135deg,#f44336,#d32f2f);border-left:4px solid #b71c1c}.modern-notification[style*=warning]{background:linear-gradient(135deg,#ff9800,#f57c00);border-left:4px solid #e65100}.modern-notification[style*=info]{background:linear-gradient(135deg,#2196f3,#1976d2);border-left:4px solid #0d47a1}@media (max-width:768px){.modern-notification{right:10px;left:10px;max-width:none;margin:0 10px}}.modern-notification:after{content:"";position:absolute;bottom:0;left:0;height:2px;background:hsla(0,0%,100%,.3);animation:progressBar 5s linear}@keyframes progressBar{0%{width:100%}to{width:0}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}body,html{height:100%;margin:0;overflow:hidden}.dashboard-page{height:100vh;flex-direction:column;color:var(--text-primary);background:var(--bg-app)}.dashboard-header,.dashboard-page{display:flex;font-family:var(--font-sans)}.dashboard-header{justify-content:space-between;align-items:center;background:var(--bg-surface);padding:var(--sp-3) var(--sp-6);box-shadow:none;border-bottom:1px solid var(--border-subtle)}.dashboard-left{display:flex;align-items:center}.dashboard-logo{height:32px;margin-right:12px}.dashboard-title{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);color:var(--text-primary)}.dashboard-user-info{display:flex;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3)}.user-text{text-align:left}.user-name{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.user-name:hover{color:var(--text-link)}.user-role{font-size:var(--fs-sm);color:var(--text-faint)}.user-avatar{width:36px;height:36px;border-radius:var(--r-full);background:var(--bg-raised);border:1px solid var(--border-subtle);color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex:none}.logout-link{color:var(--text-link);cursor:pointer;margin-left:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-medium)}.logout-link:hover{text-decoration:underline}.rail{width:var(--rail-w);flex:none;background-color:var(--bg-raised);border-right:1px solid var(--border-subtle);padding:var(--sp-3) var(--sp-2);overflow-y:auto}@media (min-width:1200px){.rail{width:208px}}.rail__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;grid-gap:var(--sp-1);gap:var(--sp-1)}.rail__item{position:relative;display:flex;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);width:100%;padding:10px var(--sp-3);background:transparent;border:0;border-radius:var(--r-md);color:var(--text-muted);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:1.4;text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.rail__item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.rail__item:active{background-color:var(--bg-active)}.rail__item.is-active{background-color:var(--accent-soft);color:var(--text-accent);font-weight:var(--fw-semibold)}.rail__item.is-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background-color:var(--accent);border-radius:0 var(--r-full) var(--r-full) 0}.rail__item:focus{outline:none}.rail__item:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.rail__item .icon{flex:none}.rail__label{white-space:nowrap}@media (max-width:1199px){.rail__item{justify-content:center;padding:10px 0}.rail__label{display:none}.rail__item.is-active:before{height:22px}}.skip-link{position:absolute;left:-9999px;top:0;z-index:var(--z-toast);padding:var(--sp-2) var(--sp-4);background:var(--accent);color:var(--accent-on);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-radius:0 0 var(--r-md) 0;text-decoration:none}.skip-link:focus{left:0}.dashboard-main{flex:1 1;display:flex;flex-direction:column;background-color:var(--bg-app);overflow:hidden}.dashboard-main.fade-in,.main_content.fade-in{animation:fadeInTop .5s ease-in-out}@keyframes fadeInTop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.dashboard-layout{display:flex;flex:1 1;overflow:hidden;background-color:var(--bg-app)}.title_image{position:relative;flex:none;margin:var(--sp-6) var(--sp-6) 0 var(--sp-6);padding:var(--sp-5) var(--sp-6);background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--sh-xs);overflow:hidden}.block_titletext{margin-bottom:var(--sp-3)}.text_title{display:flex;align-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-faint)}.title-icon{flex:none;color:var(--text-faint)}.text_report{font-family:var(--font-sans);color:var(--text-primary);display:flex;flex-direction:column;grid-gap:var(--sp-2);gap:var(--sp-2);align-items:flex-start}.report-summary-primary{font-family:var(--font-serif);font-size:var(--fs-4xl);line-height:var(--lh-tight);color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-summary-breakdown{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-secondary);line-height:var(--lh-snug);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.report-summary-sep{font-weight:var(--fw-regular);color:var(--text-faint)}.report-summary-sub{font-weight:var(--fw-regular);font-size:var(--fs-sm);color:var(--text-muted)}.main_content{display:flex;z-index:1}.main_content,.main_content_cr{position:relative;width:auto;box-sizing:border-box;margin:var(--sp-6);flex:1 1;min-height:0;overflow-y:auto;background-color:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--sp-6);align-items:flex-start}.main_content_cr.fade-in{animation:fadeInTop .5s ease-in-out}.left_content{flex:1 1 auto;min-width:0;align-self:stretch;min-height:0;border-right:2px solid hsla(0,0%,59.2%,.1);display:flex;flex-direction:column;align-items:stretch}.right_content{flex:0 0 var(--home-sidebar-w,340px);width:var(--home-sidebar-w,340px);min-width:0;--content-indent:var(--sp-5);padding-right:var(--sp-5);box-sizing:border-box}@media (max-width:1100px){.right_content{flex-basis:300px;width:300px}}.left_content,.right_content{display:flex;flex-direction:column}.search-box{position:relative;width:-moz-fit-content;width:fit-content;margin:0 0 20px 20px}.search-input{width:15vw;padding:10px 36px 10px 16px;border:none;border-radius:10px;background-color:#f5f5f5;font-size:14px;color:#333;outline:none;box-shadow:inset 0 1px 3px rgba(0,0,0,.05);font-family:var(--font-sans)}.search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;opacity:.6}.title_leftcontent{font-size:30px;color:#0b4780}.new_rp,.title_leftcontent{font-family:var(--font-sans);position:relative;left:20px;top:10px}.new_rp{font-size:15px;margin-top:25px;color:#125a8a;text-align:center;background-color:#d4e1f5;width:170px;height:30px;line-height:30px;border-radius:5px;cursor:pointer}.new_rp:hover{color:#1a128a;background-color:#d7d4f5}.new_rp.disabled-button{opacity:.5;cursor:not-allowed}.new_rp.disabled-button:hover{color:#125a8a;background-color:#d4e1f5}.title_time{font-family:var(--font-sans);font-size:15px;position:relative;left:20px;top:40px;color:#0b4780}.block1,.block2,.block3{min-height:160px;width:calc(100% - 40px);margin-left:20px;border-radius:10px;background-color:#f7f7f7;padding-bottom:16px}.block1{margin-top:70px}.block2,.block3{margin-top:13px}.title_block{position:relative;font-family:var(--font-sans);font-size:20px;margin-left:25px;margin-top:10px;width:90%;color:#434343}.title_blocksub{width:70%;color:#888}.title_blocksub,.title_status_sub{position:relative;font-family:var(--font-sans);font-size:14px;margin-left:25px;margin-top:10px}.title_status_sub{width:15%;color:#2e8a12;text-align:center;background-color:#d4f5d4;border-radius:6px}.title_status_re{font-size:14px;margin-top:10px;width:17%;color:#8a1212;text-align:center;background-color:#f5d4d4;border-radius:6px}.title_status_re,.title_who{position:relative;font-family:var(--font-sans);margin-left:25px}.title_who{font-size:12px;margin-top:50px;width:70%;color:#888}.right_title{margin-top:25px;font-size:20px;line-height:1.3;font-weight:var(--fw-semibold);color:#174a5b}.right_sub,.right_title{position:relative;font-family:var(--font-sans);margin-left:var(--content-indent)}.right_sub{margin-top:10px;font-size:13px;color:#b8b8b8}.right_status{margin-top:12px;font-size:14px;color:#2e8a12;text-align:center;background-color:#d4f5d4;border-radius:6px;width:130px}.right_member,.right_status{position:relative;font-family:var(--font-sans);margin-left:var(--content-indent)}.right_member{margin-top:45px;font-size:25px;color:#434343;font-weight:700}.right_submem{position:relative;font-family:var(--font-sans);margin-top:15px;font-size:15px;color:#777;border:2px solid #e2e2e2;width:150px;text-align:left;border-radius:8px;padding-left:10px}.right_submem_container{display:flex;grid-gap:10px;gap:10px;margin-left:var(--content-indent)}.add-box{display:flex;align-items:center;justify-content:center;font-size:24px;color:#0b4780;cursor:pointer}.right_submemb{position:relative;margin-top:15px;width:20px;text-align:left;border-radius:8px;padding-left:20px}.modal-overlay{position:fixed;font-family:var(--font-sans);top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);display:flex;justify-content:center;align-items:center;z-index:999;color:#242424;font-size:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{background:#fff;padding:24px;border-radius:10px;width:300px;display:flex;flex-direction:column;grid-gap:10px;gap:10px;animation:fadeSlideDown .3s ease-out}.modern-modal-overlay{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease-out}.modern-modal{background:#fff;border-radius:16px;width:480px;max-width:90vw;max-height:70vh;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);overflow:hidden;animation:slideUp .3s ease-out;font-family:var(--font-sans)}.modern-modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 0;border-bottom:1px solid #f3f4f6;margin-bottom:24px}.modal-title-section{display:flex;align-items:center;grid-gap:12px;gap:12px;flex:1 1}.modal-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;flex-shrink:0}.modal-icon svg{filter:brightness(0) invert(1)}.modal-title-content h3{margin:0;font-size:20px;font-weight:600;color:#111827;line-height:1.4}.modal-title-content p{margin:4px 0 0;font-size:14px;color:#6b7280;line-height:1.4}.error-message{background-color:#fef2f2;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:16px;border:1px solid #fecaca;font-size:14px;line-height:1.4}.modal-close-btn{background:none;border:none;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s ease;flex-shrink:0}.modal-close-btn:hover{background:#f3f4f6;color:#374151}.modern-modal-body{padding:0 24px;flex:1 1;display:flex;flex-direction:column;min-height:0}.form-group{margin-bottom:0}.form-group label{margin-bottom:4px}.input-wrapper,.select-wrapper{position:relative;display:flex;align-items:center}.input-icon{left:12px}.input-icon,.select-icon{position:absolute;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.select-icon{right:12px}.modern-input{padding:12px;text-align:left}.modern-input,.modern-select{width:100%;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;color:#111827;background:#fff;transition:all .2s ease;font-family:inherit;box-sizing:border-box}.modern-select{padding:12px 44px 12px 12px;appearance:none;cursor:pointer}.modern-input:focus,.modern-select:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1)}.modern-input::placeholder{color:#9ca3af}.modern-modal-footer{display:flex;grid-gap:12px;gap:12px;padding:24px;background:#f9fafb;border-top:1px solid #f3f4f6;margin-top:24px}.btn-primary,.btn-secondary{padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;display:flex;align-items:center;grid-gap:8px;gap:8px;font-family:inherit}.btn-primary{background-image:linear-gradient(to right top,#051937,#283a5a,#4b5f7f,#6f86a5,#96b0cd);color:#fff;flex:1 1}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 25px -5px rgba(79,70,229,.4)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:#fff;color:#374151;border:2px solid #e5e7eb}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modern-members-section{margin-left:var(--content-indent);margin-right:0;margin-top:var(--sp-6);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--sp-4);box-shadow:var(--sh-xs)}.members-header{justify-content:space-between;grid-gap:var(--sp-3);gap:var(--sp-3);margin-bottom:var(--sp-5)}.members-header,.members-title{display:flex;align-items:center}.members-title{grid-gap:var(--sp-2);gap:var(--sp-2);font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary)}.members-title .icon,.members-title svg{color:var(--text-faint);flex:none}.manage-members-btn{display:flex;align-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-default);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.manage-members-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.manage-members-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.team-panel .members-title{flex-wrap:wrap}.team-panel-count{margin-left:var(--sp-2);padding:2px var(--sp-2);border-radius:var(--r-full);background:var(--bg-raised);color:var(--text-muted);font-size:var(--fs-2xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase}.team-list,.team-panel-count{border:1px solid var(--border-subtle)}.team-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-radius:var(--r-md);overflow:hidden;max-height:420px;overflow-y:auto}.team-row{display:flex;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--bg-surface);border-top:1px solid var(--border-subtle);font-family:var(--font-sans);transition:background-color var(--dur-fast) var(--ease)}.team-row:first-child{border-top:0}.team-row:hover{background:var(--bg-hover)}.team-avatar,.team-row.is-me{background:var(--bg-raised)}.team-avatar{position:relative;flex:none;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--r-full);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase}.team-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:var(--r-full);background:var(--text-faint);box-shadow:0 0 0 2px var(--bg-surface)}.team-row.is-online .team-dot{background:#22c55e}.team-row.is-online .team-avatar{border-color:rgba(34,197,94,.45)}.team-row-main{flex:1 1;min-width:0;display:flex;flex-direction:column;grid-gap:2px;gap:2px}.team-name{display:flex;align-items:center;grid-gap:var(--sp-2);gap:var(--sp-2);font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary);line-height:var(--lh-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-me{color:var(--text-muted)}.team-me,.team-role{font-size:var(--fs-2xs);font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.team-role{display:inline-block;width:-moz-fit-content;width:fit-content;white-space:nowrap;padding:2px var(--sp-2);border-radius:var(--r-full)}.member-role-superadmin{background:var(--danger-soft);color:var(--danger-text)}.member-role-admin{background:var(--warning-soft);color:var(--warning-text)}.member-role-user{background:var(--info-soft);color:var(--info-text)}.member-role-technical-support{background:var(--brand-soft);color:var(--teal-600)}.team-status{flex:none;display:flex;flex-direction:column;align-items:flex-end;grid-gap:1px;gap:1px;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-muted);text-align:right}.team-row.is-online .team-status{color:#15803d}.team-status-sub{font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--text-faint);white-space:nowrap}.team-row--add{padding:0}.team-row--add,.team-row--add:hover{background:var(--accent-soft)}.team-add-btn{width:100%;display:flex;align-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:transparent;border:0;cursor:pointer;color:var(--text-accent);font-family:var(--font-sans);text-align:left;transition:background-color var(--dur-fast) var(--ease)}.team-add-btn:hover{background:var(--bg-hover)}.team-add-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.team-add-btn .team-name,.team-avatar--add{color:var(--text-accent)}.team-avatar--add{background:var(--bg-surface);border:1px dashed var(--accent-soft-border)}.dlp-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--sp-6);background:rgba(15,23,32,.45);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:dlp-fade var(--dur-fast) var(--ease)}.dlp-card{width:420px;max-width:100%;padding:var(--sp-8) var(--sp-6) var(--sp-6);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:0 18px 50px rgba(15,23,32,.18);text-align:center;font-family:var(--font-sans);animation:dlp-rise .22s var(--ease)}.dlp-icon{width:44px;height:44px;margin:0 auto var(--sp-4);display:grid;place-items:center;border-radius:var(--r-full);background:var(--accent-soft);border:1px solid var(--accent-soft-border);color:var(--text-accent)}.dlp-title{margin:0 0 var(--sp-2);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--text-primary);letter-spacing:-.01em}.dlp-status{margin:0 0 var(--sp-5);min-height:20px;font-size:var(--fs-sm);color:var(--text-muted)}.dlp-bar{height:6px;background:var(--bg-raised);overflow:hidden}.dlp-bar,.dlp-bar-fill{border-radius:var(--r-full)}.dlp-bar-fill{height:100%;background:var(--accent);transition:width .4s var(--ease)}.dlp-card.is-done .dlp-bar-fill{background:var(--success)}.dlp-meta{display:flex;justify-content:space-between;align-items:baseline;grid-gap:var(--sp-3);gap:var(--sp-3);margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-faint)}.dlp-detail{min-height:16px;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dlp-pct{flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);color:var(--text-muted)}.dlp-cancel{margin-top:var(--sp-6);padding:var(--sp-2) var(--sp-5);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-md);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.dlp-cancel:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.dlp-cancel:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@keyframes dlp-fade{0%{opacity:0}to{opacity:1}}@keyframes dlp-rise{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.members-info-text{text-align:center;color:var(--text-muted);font-size:var(--fs-sm);margin-top:var(--sp-2);padding:var(--sp-3);background:var(--bg-raised);border-radius:var(--r-md)}.manage-members-modal{width:700px;max-height:80vh;display:flex;flex-direction:column}.members-stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:16px;gap:16px;margin-bottom:24px;padding:0 4px}.stat-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:20px;text-align:center;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.stat-number{font-size:28px;font-weight:700;color:#4f46e5;margin-bottom:4px}.stat-label{font-size:12px;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.members-list{max-height:300px;overflow-y:auto;flex:1 1;display:flex;flex-direction:column;grid-gap:12px;gap:12px;padding:8px 4px}.members-list::-webkit-scrollbar{width:6px}.members-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.members-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.members-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#6b7280;text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state h4{margin:0 0 8px;font-size:18px;font-weight:600;color:#374151}.empty-state p{margin:0;font-size:14px;color:#6b7280}.member-card-enhanced{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s ease;box-shadow:0 1px 3px rgba(0,0,0,.05)}.member-card-enhanced:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.08)}.member-info{grid-gap:12px;gap:12px}.member-avatar,.member-info{display:flex;align-items:center}.member-avatar{justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:10px;flex-shrink:0;color:#6b7280;position:relative}.member-avatar svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px}.member-details{display:flex;flex-direction:column;grid-gap:6px;gap:6px}.member-name{font-size:16px;font-weight:600;color:#111827;line-height:1.3}.member-role-badge{display:inline-block;padding:3px var(--sp-2);border-radius:var(--r-full);font-size:var(--fs-2xs);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;width:-moz-fit-content;width:fit-content}.member-actions{grid-gap:12px;gap:12px}.member-actions,.role-selector{display:flex;flex-direction:column;align-items:flex-end}.role-selector{grid-gap:4px;gap:4px}.role-label{font-size:11px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.modern-select.enhanced{padding:8px 32px 8px 12px;font-size:13px;border-radius:6px;border:1px solid #e5e7eb;background:#fff;min-width:140px;cursor:pointer;transition:all .2s ease}.modern-select.enhanced:focus{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.1);outline:none}.btn-danger-enhanced{display:flex;align-items:center;grid-gap:6px;gap:6px;padding:8px 12px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:6px;color:#dc2626;cursor:pointer;transition:all .2s ease;font-size:12px;font-weight:500;min-width:100px;justify-content:center}.btn-danger-enhanced:hover{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:#fca5a5;color:#b91c1c;transform:translateY(-1px);box-shadow:0 2px 8px rgba(220,38,38,.2)}.btn-danger-enhanced:active{transform:translateY(0)}.btn-secondary-enhanced{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#475569;border:1px solid #e2e8f0;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary-enhanced:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.btn-secondary-enhanced:active{transform:translateY(0)}.member-icon{width:20px;height:20px;object-fit:contain;margin-left:7px;vertical-align:middle;cursor:pointer}.input_regis{font-family:var(--font-sans);border-radius:5px;cursor:pointer}.confirm_button{background-color:rgba(39,84,138,.3411764705882353);color:#113d72;cursor:pointer;display:flex;align-items:center;justify-content:center;grid-gap:8px;gap:8px;width:100%;height:30px;border:1.5px solid #27548a;border-radius:4px;font-size:14px;transition:all .3s ease;font-weight:700}.confirm_button:hover{background-color:#27548a;color:#fdfdfd}.reject_button{color:#8a1212;background-color:#f5d4d4;width:100%;height:30px;border:1.5px solid #8a2727;font-weight:700;cursor:pointer;transition:all .3s ease}.reject_button:hover{background-color:#8a2727;color:#fdfdfd}.input_regisD{font-family:var(--font-sans);border-radius:5px;padding:8px;font-size:15px;border:1px solid #ccc;outline:none;color:rgba(87,87,87,.829)}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}.member-settings-modal{background:#fff;padding:24px;border-radius:10px;width:360px;animation:fadeSlideDown .3s ease-out}.member-row{display:flex;justify-content:space-between;align-items:center;grid-gap:10px;gap:10px;margin-bottom:10px;font-size:17px}.create-title{font-size:30px;margin-left:40px;color:#0b4780}.create-title,.personal-info-form{position:relative;font-family:var(--font-sans)}.personal-info-form h3{color:#0b4780;margin-bottom:12px}.personal-info-form label{display:block;margin:7px 0 6px}.personal-info-form input,.personal-info-form select{font-family:var(--font-sans);width:200px;padding:10px;margin-top:4px;margin-bottom:10px;border-radius:6px;border:1px solid #ccc}.report-form-wrapper{display:flex;grid-gap:60px;gap:60px;margin-left:40px;margin-top:30px}.ct-value-form,.other-value-form,.personal-info-form{font-family:var(--font-sans);max-width:500px}.ct-value-form input{font-family:var(--font-sans);width:200px;padding:10px;margin-top:4px;margin-bottom:10px;border-radius:6px;border:1px solid #ccc}.title_color{color:#0b4780}.ct-input-row{display:flex;flex-direction:column}.ct-input-row label{margin-bottom:4px}.ct-input-row input{width:250px;border-radius:5px;border:1px solid #ccc}.other-value-form input{font-family:var(--font-sans);width:200px;padding:10px;margin-top:4px;margin-bottom:10px;border-radius:6px;border:1px solid #ccc}.other-input-row{display:flex;flex-direction:column}.other-input-row label{margin-bottom:4px}.other-input-row input{width:250px;border-radius:5px;border:1px solid #ccc}.form-actions{display:flex;justify-content:center;margin-top:40px;grid-gap:20px;gap:20px}.cancel-button,.submit-button{font-family:var(--font-sans);padding:10px 24px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background-color .3s;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.submit-button{background-color:#0b4780;color:#fff}.submit-button:hover{background-color:#093a6c}.submit-button.disabled{background-color:#ccc;color:#666;cursor:not-allowed;opacity:.6}.cancel-button,.submit-button.disabled:hover{background-color:#ccc}.cancel-button{color:#333}.cancel-button:hover{background-color:#b3b3b3}.calc-result{margin-top:4px;font-size:13px;color:#0b4780}.calc-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:hsla(0,0%,100%,.7);display:flex;align-items:center;justify-content:center;z-index:9999}.calc-spinner-box{display:flex;flex-direction:column;align-items:center;text-align:center}.calc-status-text{margin-top:20px;font-size:18px;color:#0b4780;font-family:var(--font-sans)}.calc-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.pdf-preview-overlay{background:rgba(10,10,10,.7);z-index:999}.pdf-preview-content{background:#fff;width:80%;height:70%;padding:40px;border-radius:12px}.bacteria-score-bar{margin-top:30px}.bacteria-name{font-family:var(--font-sans);font-weight:400;font-size:18px;margin-bottom:10px;display:inline-block}.score-bar{display:flex;position:relative;grid-gap:4px;gap:4px;height:16px}.text_slash{font-style:italic}.text_reulst,.text_slash{font-family:"Gilroy-Light","Noto Sans Thai",sans-serif!important;font-weight:300;color:#686868}.score-block{width:50px;height:7px;background-color:#ccc;display:inline-block}.score-block.score-1{background-color:#005288}.score-block.score-2{background-color:#2196f3}.score-block.score-3{background-color:#28a745}.score-block.score-4{background-color:#ffc107}.score-block.score-5{background-color:#fd1414}.score-block.active{height:9px;margin-top:-1px}.lowbar.score-1,.lowbar.score-2,.lowbar.score-3,.lowbar.score-4,.lowbar.score-5{background-color:inherit}.arrow-down{width:5px;height:21px;background-color:#b8b8b8;position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:4px}.close-btn{font-family:var(--font-sans);position:absolute;bottom:24px;right:24px;padding:8px 16px;font-weight:700;border:none;border-radius:4px;background-color:#0b4780;color:#fff;cursor:pointer}.score-bar-row{display:flex;align-items:center;grid-gap:12px;gap:12px;margin-top:6px}.score-label{font-family:var(--font-sans);min-width:120px;font-weight:400;color:#0b4780;font-size:14px}.bacteria-score-bar{display:flex;align-items:center;margin-bottom:20px;grid-gap:12px;gap:12px}.title-label{width:180px;font-style:italic;font-size:15px;color:#333}.score-bar-wrapper{display:flex;align-items:center;grid-gap:16px;gap:16px}.result-value{font-family:monospace;font-size:14px;color:#444}.input-wrapper{display:flex;flex-direction:column;margin-bottom:4px;height:60px}.input-wrapper label{font-family:var(--font-sans);margin-bottom:4px;font-weight:400;color:#031c6e}.history-wrapper{padding:24px;font-family:var(--font-sans);background:#fff;border-radius:12px;margin:24px;width:100%;position:relative;z-index:1}.approve-btn{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;border:none;padding:12px 20px;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;margin-left:12px;display:inline-flex;align-items:center;grid-gap:8px;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px rgba(20,184,166,.3)}.approve-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px rgba(20,184,166,.4);background:linear-gradient(135deg,#0d9488,#0f766e)}.approve-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.approved-icon{display:inline-flex;align-items:center;color:#14b8a6;margin-left:4px;vertical-align:middle;flex-shrink:0}.bulk-download-btn{transition:all .3s cubic-bezier(.4,0,.2,1)}.bulk-download-btn:disabled{opacity:.6;cursor:not-allowed}.bulk-download-btn:not(:disabled):hover{transform:translateY(-2px)}.bulk-download-btn{position:relative;overflow:hidden}.bulk-download-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.bulk-download-btn:hover:before{left:100%}.bulk-download-btn:active{transform:translateY(0) scale(.98)}.bulk-download-btn[data-zip=true]{background:linear-gradient(135deg,#ff6b35,#f7931e)!important;box-shadow:0 4px 15px rgba(255,107,53,.3)!important}.bulk-download-btn[data-zip=true]:hover{background:linear-gradient(135deg,#e55a2b,#e0851a)!important;box-shadow:0 8px 25px rgba(255,107,53,.4)!important}.history-table td:first-child,.history-table th:first-child{text-align:center}.history-table input[type=checkbox]{transition:all .2s ease}.history-table input[type=checkbox]:hover{transform:scale(1.1)}.history-title{font-size:22px;font-weight:700;margin-bottom:16px;color:#222}.history-loading-banner{display:flex;align-items:center;grid-gap:14px;gap:14px;padding:14px 18px;margin-bottom:18px;background:linear-gradient(135deg,#e8f4f8,#d3e0ea);border:1px solid rgba(23,74,91,.22);border-radius:12px;box-shadow:0 4px 16px rgba(23,74,91,.08)}.history-loading-banner-text{flex:1 1;min-width:0}.history-loading-banner-title{font-size:15px;font-weight:700;color:#174a5b;margin:0 0 4px}.history-loading-banner-sub{font-size:13px;color:rgba(23,74,91,.78);margin:0;line-height:1.45}.history-loading-spinner{flex-shrink:0;width:28px;height:28px;border:3px solid rgba(23,74,91,.2);border-top-color:#174a5b;border-radius:50%;animation:history-spin .8s linear infinite}@keyframes history-spin{to{transform:rotate(1turn)}}.history-loading-shimmer{height:3px;margin-top:10px;border-radius:2px;overflow:hidden;background:rgba(23,74,91,.12)}.history-loading-shimmer:after{content:"";display:block;height:100%;width:40%;background:linear-gradient(90deg,transparent,rgba(23,74,91,.35),transparent);animation:history-shimmer 1.1s ease-in-out infinite}@keyframes history-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(350%)}}.history-table-loading-overlay{position:absolute;inset:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;grid-gap:14px;gap:14px;background:hsla(0,0%,100%,.94);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:8px;pointer-events:none}.history-table-loading-overlay .history-loading-spinner{width:36px;height:36px;border-width:3px}.history-table-loading-overlay p{margin:0;font-size:14px;font-weight:600;color:#174a5b}.history-table-container{overflow-x:auto;position:relative;min-height:240px}.history-table{width:100%;border-collapse:collapse;min-width:800px;background-color:#fff}.history-table th{background-color:#f9fafb;font-weight:600;text-align:left;padding:12px 16px;color:#444;border-bottom:1px solid #e2e8f0}.history-table td{padding:12px 16px;border-bottom:1px solid #f1f1f1;color:#333;font-size:14px}.history-table tr:hover{background-color:#f5faff;transition:background-color .2s ease}.history-table td:first-child,.history-table td:nth-child(2),.history-table th:first-child,.history-table th:nth-child(2){width:50px}.history-table td:nth-child(3),.history-table th:nth-child(3){width:80px;text-align:center}.history-table td:nth-child(4),.history-table th:nth-child(4){width:150px}.history-table td:nth-child(5),.history-table th:nth-child(5){width:50px}.history-table td:nth-child(6),.history-table td:nth-child(7),.history-table th:nth-child(6),.history-table th:nth-child(7){width:100px}.history-table td:nth-child(8),.history-table th:nth-child(8){width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-table td:nth-child(9),.history-table th:nth-child(9){width:120px}.result-squares-container{display:grid;grid-template-columns:repeat(3,10px);grid-gap:2px;gap:2px;align-items:start}.result-square{width:10px;height:10px;border-radius:2px;display:inline-block;transition:all .1s ease;box-shadow:0 1px 3px rgba(0,0,0,.2);position:relative;cursor:pointer;flex-shrink:0}.result-square--empty{background-color:initial!important;box-shadow:none!important;cursor:default!important;pointer-events:none}.result-square:hover{box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:100;border:1px solid hsla(0,0%,100%,.6)}.result-square:before{content:attr(title);background:rgba(0,0,0,.9);color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;white-space:nowrap;pointer-events:none;z-index:1000;margin-bottom:8px;box-shadow:0 4px 12px rgba(0,0,0,.3)}.result-square:after,.result-square:before{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);opacity:0;visibility:hidden;transition:all .1s ease}.result-square:after{content:"";border:5px solid transparent;border-top-color:rgba(0,0,0,.9);margin-bottom:3px}.result-square:hover:after,.result-square:hover:before{opacity:1;visibility:visible}.history-table td:nth-child(10),.history-table td:nth-child(11),.history-table td:nth-child(12),.history-table th:nth-child(10),.history-table th:nth-child(11),.history-table th:nth-child(12){width:100px}.view-btn{background:none;border:none;cursor:pointer;padding:4px}.view-btn:hover img{transform:scale(1.1);transition:transform .2s}.delete-btn{background:none;border:none;cursor:pointer;padding:4px}.delete-btn:hover img{transform:scale(1.1);transition:transform .2s}.delete-btn.disabled-button{opacity:.5;cursor:not-allowed}.delete-btn.disabled-button:hover img{transform:none}.text_al{text-align:left}.mode_btn{box-shadow:0 2px 4px rgba(0,0,0,.4),0 2px 2px -3px rgba(0,0,0,.3),inset 0 -3px 0 rgba(0,0,0,.2)}.mode_btn,.mode_btn_customeST{font-family:var(--font-sans);padding:6px 14px;border:1px solid #ccc;border-radius:6px;background-color:#fff;font-weight:500;cursor:pointer;transition:all .2s;color:#0b4780}.newformula-stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));grid-gap:14px;gap:14px;width:100%;max-width:100%;margin-top:12px}.newformula-stock-card{position:relative;display:flex;flex-direction:column;align-items:stretch;grid-gap:2px;gap:2px;font-family:var(--font-sans);text-align:left;padding:0 12px 12px;border:1px solid #e2e8f0;border-radius:12px;background-color:#fff;cursor:pointer;overflow:visible;transition:all .2s}.newformula-stock-card.is-selected{box-shadow:0 2px 4px 0 rgba(14,30,37,.12),0 2px 16px 0 rgba(14,30,37,.32)}.newformula-stock-card:focus-visible,.newformula-stock-card:hover{transform:translateY(-2px);box-shadow:0 0 0 2px rgba(14,118,168,.45),0 6px 18px rgba(23,74,91,.14);outline:none}.newformula-stock-card:focus-visible .newformula-stock-thumb,.newformula-stock-card:hover .newformula-stock-thumb{transform:scale(1.05)}.newformula-stock-card:focus-visible .newformula-stock-figure:after,.newformula-stock-card:hover .newformula-stock-figure:after{opacity:1}.newformula-stock-card:focus-visible .newformula-stock-hint,.newformula-stock-card:hover .newformula-stock-hint{opacity:1;transform:translate(-50%)}.newformula-stock-card:focus-visible .newformula-stock-code,.newformula-stock-card:hover .newformula-stock-code{color:#0e76a8}.newformula-stock-card:active{transform:translateY(0);box-shadow:0 0 0 2px rgba(14,118,168,.6),0 2px 6px rgba(23,74,91,.14)}.newformula-stock-accent{height:3px;border-radius:0 0 3px 3px;margin:0 -12px 8px;align-self:stretch}.newformula-stock-figure{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:10px;background-color:#f8fafc;overflow:hidden;margin-bottom:8px}.newformula-stock-figure:after{content:"";position:absolute;inset:0;border-radius:10px;background:linear-gradient(0deg,rgba(15,32,51,.28),rgba(15,32,51,0) 55%);opacity:0;transition:opacity .2s;pointer-events:none}.newformula-stock-thumb{width:100%;height:100%;object-fit:contain;transition:transform .2s}.newformula-stock-hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%,6px);z-index:1;padding:3px 10px;border-radius:999px;font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.3px;color:#fff;white-space:nowrap;opacity:0;transition:all .2s;pointer-events:none;box-shadow:0 2px 6px rgba(0,0,0,.25)}.newformula-stock-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-family:var(--font-sans);font-size:20px;font-weight:600;letter-spacing:1px}.newformula-stock-code{font-size:13px;font-weight:600;color:#0b4780;letter-spacing:.2px}.newformula-stock-strain{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:26px;font-size:11px;font-weight:400;line-height:1.2;color:#64748b}.newformula-stock-row{display:flex;align-items:baseline;justify-content:space-between;grid-gap:6px;gap:6px;margin-top:6px}.newformula-stock-value{font-size:20px;font-weight:700;color:#222;line-height:1}.newformula-stock-pill{padding:2px 8px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.3px;white-space:nowrap}@media (min-width:1600px){.newformula-stock-grid{grid-template-columns:repeat(auto-fill,minmax(min(172px,100%),1fr));grid-gap:16px;gap:16px}}@media (max-width:900px){.newformula-stock-grid{grid-template-columns:repeat(auto-fill,minmax(min(132px,100%),1fr));grid-gap:12px;gap:12px}.newformula-stock-card{padding:0 10px 10px}.newformula-stock-accent{margin:0 -10px 8px}.newformula-stock-value{font-size:18px}}@media (max-width:560px){.newformula-stock-grid{grid-template-columns:repeat(auto-fill,minmax(min(118px,100%),1fr));grid-gap:10px;gap:10px}.newformula-stock-card{padding:0 8px 10px;border-radius:10px}.newformula-stock-accent{margin:0 -8px 6px}.newformula-stock-code{font-size:12px}.newformula-stock-strain{font-size:10px;min-height:24px}.newformula-stock-row{flex-direction:column;align-items:flex-start;grid-gap:4px;gap:4px}.newformula-stock-value{font-size:17px}}@media (hover:none){.newformula-stock-card:hover{transform:none;box-shadow:none}.newformula-stock-card.is-selected:hover{box-shadow:0 2px 4px 0 rgba(14,30,37,.12),0 2px 16px 0 rgba(14,30,37,.32)}.newformula-stock-card:hover .newformula-stock-thumb{transform:none}.newformula-stock-card:hover .newformula-stock-figure:after,.newformula-stock-card:hover .newformula-stock-hint{opacity:0}.newformula-stock-card:hover .newformula-stock-code{color:#0b4780}}.mode_btn:hover{background-color:#f0f0f0}.mode_btn.active{background-color:#0e76a8;color:#fff;border-color:#0e76a8}.text_tiR{padding-left:40px;color:#0b4780}.import-btn,.text_tiR{font-weight:500;font-family:var(--font-sans)}.import-btn{padding:6px 14px;border:1px solid #aaa;border-radius:6px;background-color:#f9f9f9;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px rgba(0,0,0,.4),0 2px 2px -3px rgba(0,0,0,.3),inset 0 -3px 0 rgba(0,0,0,.2)}.import-btn:hover{background-color:#eee}.csv-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:999;animation:fadeIn .2s ease-in-out;font-family:var(--font-sans)}.csv-popup-content.modern{background:#fff;border-radius:16px;padding:24px 28px;width:1200px;max-width:70%;max-height:65%;box-shadow:0 20px 40px rgba(0,0,0,.15);display:flex;flex-direction:column;grid-gap:10px;gap:10px}.csv-popup-header h3{margin:0;font-size:20px;font-weight:600;color:#222;padding-right:40px}.csv-popup-body{overflow-x:auto;min-width:0}.csv-popup-table{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}.csv-popup-table td,.csv-popup-table th{padding:10px 8px;border-bottom:1px solid #e0e0e0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.csv-popup-table th{background:#f8f9fa;color:#555;font-weight:600}.csv-popup-table td button{margin:0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis}.csv-popup-table td:first-child,.csv-popup-table th:first-child{padding-left:14px}.csv-popup-table td:last-child,.csv-popup-table th:last-child{padding-right:14px}.csv-popup-table td:first-child,.csv-popup-table th:first-child{width:30px}.csv-popup-table td:nth-child(2),.csv-popup-table th:nth-child(2){width:120px}.csv-popup-table td:nth-child(3),.csv-popup-table th:nth-child(3){width:70px}.csv-popup-table td:nth-child(4),.csv-popup-table td:nth-child(5),.csv-popup-table th:nth-child(4),.csv-popup-table th:nth-child(5){width:120px}.csv-popup-table td:nth-child(6),.csv-popup-table th:nth-child(6){width:130px}.csv-popup-table td:nth-child(7),.csv-popup-table th:nth-child(7){width:100px}.csv-popup-table td:nth-child(8),.csv-popup-table th:nth-child(8){width:150px;min-width:150px;max-width:150px}.csv-popup-table td:nth-child(8) button{width:130px;min-width:130px;max-width:130px;font-size:12px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.csv-popup-table td:nth-child(8) button>div{width:100%;max-width:100%;overflow:hidden}.csv-popup-table td:nth-child(9),.csv-popup-table th:nth-child(9){width:120px}.csv-popup-table td:nth-child(10),.csv-popup-table th:nth-child(10){width:140px;min-width:140px;max-width:140px}.csv-popup-table td:nth-child(11),.csv-popup-table th:nth-child(11){width:120px}.csv-popup-table--pet-csv:not(.csv-popup-table--pet-essential-csv) td:nth-child(7),.csv-popup-table--pet-csv:not(.csv-popup-table--pet-essential-csv) th:nth-child(7),.csv-popup-table--pet-essential-csv td:nth-child(6),.csv-popup-table--pet-essential-csv th:nth-child(6){width:118px;min-width:118px;max-width:180px;white-space:normal}.csv-popup-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;flex-shrink:0;min-width:0;grid-gap:12px;gap:12px;margin-top:10px}.popup-btnsss{border-radius:6px;border:none;background-color:#fff;color:#213555}.popup-btncancle,.popup-btnsss{padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);font-family:var(--font-sans)}.popup-btncancle{border-radius:6px;border:1.5px solid #680707;background-color:#ffcbcb;color:#552121}.popup-btncancle:hover{background-color:#680707;color:#fff}.popup-btnsubmit{padding:6px 12px;font-size:13px;font-weight:500;border-radius:6px;border:1.5px solid #072168;cursor:pointer;transition:background .2s;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);background-color:#cbddff;color:#213555;font-family:var(--font-sans)}.popup-btnsubmit:hover{background-color:#143285;color:#fff}.popup-btn{padding:6px 12px;font-size:13px;font-weight:500;border-radius:6px;border:none;cursor:pointer;transition:background .2s;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24);font-family:var(--font-sans)}.popup-btn.primary{background:#1976d2;color:#fff}.popup-btn.primary:hover{background:#1153a2}.popup-btn.primary.disabled{cursor:not-allowed;opacity:.6}.popup-btn.primary.disabled,.popup-btn.primary.disabled:hover{background-color:#ccc;color:#666}.popup-btn.secondary{background:#f0f0f0;color:#333}.popup-btn.secondary:hover{background:#e0e0e0}.popup-btn.disabled{cursor:not-allowed;opacity:.6}.popup-btn.disabled,.popup-btn.disabled:hover{background-color:#ccc;color:#666}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.csv-popup-table td:last-child{white-space:nowrap}.syndrome-btn{position:relative;overflow:visible}.syndrome-tooltip{visibility:hidden;opacity:0;white-space:nowrap;background-color:#333;color:#fff;font-size:12px;padding:6px 10px;border-radius:4px;position:absolute;top:-35px;left:50%;transform:translateX(-50%);transition:opacity .2s;z-index:10}.syndrome-btn:hover .syndrome-tooltip{visibility:visible;opacity:1}.storage-section-custom{background:#fff;border-radius:12px;margin:24px 0;width:100%;min-width:0;max-width:100%;box-sizing:border-box;box-shadow:none!important;padding:24px}.analytics-section-custom,.database-section-custom{background:#fff;border-radius:12px;margin:24px;width:100%;box-shadow:none!important;padding:24px}.database-table-container{width:100%}.database-table-wrapper{border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}.database-table{width:100%;border-collapse:collapse;font-family:var(--font-sans)}.database-table th{background-color:#f9fafb;font-weight:600;text-align:left;padding:12px 8px;color:#444;border-bottom:1px solid #e2e8f0;font-size:12px;white-space:nowrap;position:sticky;top:0;z-index:10}.database-table td{padding:8px;border-bottom:1px solid #f1f1f1;color:#333;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.database-table tr:hover{background-color:#f5faff;transition:background-color .2s ease}.database-table tbody tr:nth-child(2n){background-color:#fafbfc}.database-table tbody tr:nth-child(2n):hover{background-color:#f0f7ff}.loading-spinner{width:20px;height:20px;border:2px solid #90e06a;border-top-color:#000;border-radius:50%;animation:spin 1s linear infinite;display:inline-block}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.3);z-index:9999}.loading-overlay,.modify-button{display:flex;justify-content:center;align-items:center}.modify-button{background-color:#eaeaea;color:#696969;cursor:pointer;grid-gap:8px;gap:8px;width:70px;height:30px;border:none;border-radius:4px;font-size:14px;transition:all .3s ease}.modify-button:hover{background-color:grey;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.modify-button:active{transform:translateY(0);box-shadow:none}.adv-supp-column{min-width:120px;text-align:center}.preview-button{background:#1969d2;color:#fff;border:none;width:70px;height:27px;border-radius:3px;box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15)}.preview-button.disabled{cursor:not-allowed;box-shadow:0 1px 2px 0 rgba(60,64,67,.1),0 1px 3px 1px rgba(60,64,67,.05)}.preview-button.disabled,.preview-button.disabled:hover{background:#ccc;color:#666}.font_web{font-family:var(--font-sans)}.mouse{cursor:pointer}.pagination-container{grid-gap:16px;gap:16px;margin-top:32px;padding:24px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}.pagination-button,.pagination-container{display:flex;justify-content:center;align-items:center}.pagination-button{padding:12px 24px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-width:100px;grid-gap:8px;gap:8px}.pagination-button:enabled{color:#fff;box-shadow:0 4px 16px rgba(102,126,234,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pagination-button:enabled,.pagination-button:enabled:hover{background-image:linear-gradient(to right top,#9db8e0,#aac1e7,#b7cbed,#c4d4f4,#d1defb)}.pagination-button:enabled:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(102,126,234,.4)}.pagination-button:enabled:active{transform:translateY(0);box-shadow:0 4px 16px rgba(102,126,234,.3)}.pagination-button:disabled{color:#adb5bd;cursor:not-allowed}.pagination-button:disabled,.pagination-button:disabled:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);box-shadow:0 2px 8px rgba(0,0,0,.1);transform:none}.pagination-info{font-size:16px;font-weight:600;color:#495057;margin:0 16px;padding:8px 16px;background:hsla(0,0%,100%,.8);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px rgba(0,0,0,.05)}.pagination-total{font-size:14px;font-weight:500;color:#6c757d;margin-left:24px;padding:6px 12px;background:hsla(0,0%,100%,.6);border-radius:6px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.pagination-button:enabled:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);transition:left .5s}.pagination-button:enabled:hover:before{left:100%}@media (max-width:768px){.pagination-container{grid-gap:12px;gap:12px;padding:16px;margin-top:24px}.pagination-button{padding:10px 18px;min-width:80px;font-size:13px}.pagination-info{font-size:14px;margin:0 12px}.pagination-total{font-size:12px;margin-left:16px}}.filter-section{margin-bottom:24px;padding:24px;background-image:linear-gradient(to right top,#9db8e0,#aac1e7,#b7cbed,#c4d4f4,#d1defb);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);position:relative;z-index:1}.filter-container{display:flex;align-items:center;grid-gap:16px;gap:16px;flex-wrap:wrap;position:relative;z-index:1}.filter-header{display:flex;align-items:center;grid-gap:12px;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid hsla(0,0%,100%,.2)}.filter-icon{width:24px;height:24px;object-fit:contain;filter:brightness(0) invert(1)}.filter-title{font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.1);letter-spacing:.5px}.filter-dropdown-container{position:relative;display:inline-block;z-index:2147483646}.filter-dropdown-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.01);z-index:2147483647;cursor:default;pointer-events:auto;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.filter-dropdown-btn{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:hsla(0,0%,100%,.95);border:2px solid hsla(0,0%,100%,.3);border-radius:12px;cursor:pointer;min-width:180px;font-size:14px;font-weight:600;color:#333;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.filter-dropdown-btn:hover{border-color:hsla(0,0%,100%,.8);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.filter-dropdown-btn:disabled{background:hsla(0,0%,100%,.5);cursor:not-allowed;transform:none}.dropdown-arrow{font-size:12px;color:#666;transition:transform .3s ease;margin-left:8px}.filter-dropdown-btn:hover .dropdown-arrow{transform:rotate(180deg)}.filter-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;background:hsla(0,0%,100%,.95);border:2px solid hsla(0,0%,100%,.3);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.15);z-index:2147483648;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideDown .3s ease;will-change:transform;contain:layout;max-height:-moz-fit-content;max-height:fit-content;transform:translateZ(0);isolation:isolate}.filter-dropdown-header{padding:12px 16px;font-size:14px;font-weight:600;color:#667eea;background:rgba(102,126,234,.05);border-bottom:1px solid rgba(102,126,234,.1);border-radius:12px 12px 0 0;text-align:center;cursor:default;-webkit-user-select:none;user-select:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-item{padding:12px 16px;cursor:pointer;font-size:14px;font-weight:500;color:#333;transition:all .2s ease;border-bottom:1px solid rgba(0,0,0,.05)}.filter-dropdown-item:last-child{border-bottom:none}.filter-dropdown-item:hover{background:rgba(102,126,234,.1);color:#667eea;padding-left:20px}.filter-dropdown-item.active{color:#fff;font-weight:600}.filter-dropdown-item.active,.filter-dropdown-item.active:hover{background-image:linear-gradient(to right top,#4473b9,#5981c4,#6d8fcf,#809dda,#92ace5)}.history-table.disabled{pointer-events:none;opacity:.7;transition:opacity .3s ease}.history-table.disabled img[src*="down.png"],.history-table.disabled img[src*="up.png"]{pointer-events:none;cursor:not-allowed;opacity:.3;transition:opacity .3s ease}.history-table.disabled:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.02);pointer-events:none;z-index:1}.filter-input{padding:12px 16px;border:2px solid hsla(0,0%,100%,.3);border-radius:12px;font-size:14px;font-weight:500;min-width:250px;background:hsla(0,0%,100%,.95);color:#333;transition:all .3s cubic-bezier(.4,0,2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px rgba(0,0,0,.1)}.filter-input::placeholder{color:#999;font-weight:400}.filter-input:focus{outline:none;border-color:hsla(0,0%,100%,.8);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15);background:hsla(0,0%,100%,.98)}.filter-input:disabled{background:hsla(0,0%,100%,.5);cursor:not-allowed;transform:none}.history-filter-search-btn{padding:12px 20px;background:hsla(0,0%,100%,.95);border:2px solid hsla(0,0%,100%,.5);border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;color:#333;box-shadow:0 4px 16px rgba(0,0,0,.1);transition:all .2s ease}.history-filter-search-btn:hover:not(:disabled){border-color:hsla(0,0%,100%,.9);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.12)}.history-filter-search-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.clear-filter-btn{padding:10px 16px;background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px hsla(0,100%,71%,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.clear-filter-btn:hover{background:linear-gradient(135deg,#ff5252,#d32f2f);transform:translateY(-2px);box-shadow:0 8px 24px hsla(0,100%,71%,.4)}.clear-filter-btn:disabled{cursor:not-allowed;box-shadow:0 4px 16px hsla(0,0%,74.1%,.3)}.clear-filter-btn:disabled,.clear-filter-btn:disabled:hover{background:linear-gradient(135deg,#bdbdbd,#9e9e9e);transform:none}.filter-loading{display:flex;align-items:center;grid-gap:12px;gap:12px;color:#fff;font-size:14px;font-weight:500;padding:8px 16px;background:hsla(0,0%,100%,.1);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.drag-drop-zone{margin-top:20px;padding:40px 20px;border:3px dashed #ddd;border-radius:12px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.drag-drop-zone:hover{border-color:#667eea;background:linear-gradient(135deg,#f0f4ff,#e6f0ff);transform:translateY(-2px);box-shadow:0 8px 24px rgba(102,126,234,.15)}.drag-drop-zone.drag-over{border-color:#667eea;background:linear-gradient(135deg,#e6f0ff,#d1e7ff);transform:scale(1.02);box-shadow:0 12px 32px rgba(102,126,234,.25)}.drag-drop-content{display:flex;flex-direction:column;align-items:center;grid-gap:16px;gap:16px}.drag-drop-icon{transition:transform .3s ease}.drag-drop-icon img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.drag-drop-zone:hover .drag-drop-icon{transform:scale(1.1)}.drag-drop-zone.drag-over .drag-drop-icon{transform:scale(1.2)}.drag-drop-text{display:flex;flex-direction:column;grid-gap:8px;gap:8px}.drag-drop-text strong{font-size:18px;font-weight:600;color:#333}.drag-drop-text span{font-size:14px;color:#666;font-weight:400}@media (max-width:768px){.filter-section{padding:20px;margin-bottom:20px}.filter-container{grid-gap:12px;gap:12px}.filter-input{min-width:200px}.filter-dropdown-btn{min-width:150px}.drag-drop-zone{padding:30px 15px}.drag-drop-icon img{width:48px;height:48px}.drag-drop-text strong{font-size:16px}.drag-drop-text span{font-size:12px}}.create-report-input-wrapper{display:flex;flex-direction:column;margin-bottom:16px}.create-report-input-wrapper label{font-family:var(--font-sans);margin-bottom:6px;font-weight:400;color:#031c6e;font-size:14px}.create-report-input-wrapper label.bacteria-italic-label{font-style:italic}.create-report-input-wrapper input,.create-report-input-wrapper select{font-family:var(--font-sans);width:250px;padding:10px 12px;border-radius:6px;border:1px solid #ccc;font-size:14px;transition:border-color .2s ease,box-shadow .2s ease;background-color:#fff}.create-report-input-wrapper input:focus,.create-report-input-wrapper select:focus{outline:none;border-color:#0b4780;box-shadow:0 0 0 2px rgba(11,71,128,.1)}.create-report-input-wrapper input::placeholder{color:#999;font-style:italic}.ssm-history{margin-top:28px;padding-top:20px;border-top:1px solid #e2e8f0}.ssm-history-head{display:flex;align-items:center;justify-content:space-between;grid-gap:16px;gap:16px;flex-wrap:wrap;margin-bottom:14px}.ssm-history-title{margin:0;font-size:16px;font-weight:700;color:#0b4780}.ssm-history-actions{display:flex;align-items:center;grid-gap:10px;gap:10px}.ssm-history-filter{padding:6px 10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:13px;color:#334155}.ssm-history-empty{padding:24px;color:#94a3b8;font-size:14px;text-align:center}.ssm-history-table-wrap{overflow-x:auto;border:1px solid #e2e8f0;border-radius:10px}.ssm-history-table{width:100%;border-collapse:collapse;font-size:13px}.ssm-history-table th{padding:10px 12px;background:#f1f5f9;color:#0b4780;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:left;white-space:nowrap}.ssm-history-table td{padding:10px 12px;border-top:1px solid #eef2f6;color:#334155;vertical-align:top}.ssm-history-when{white-space:nowrap;color:#64748b}.ssm-history-sku{font-family:ui-monospace,monospace;font-weight:700;color:#0b4780}.ssm-history-out{color:#b91c1c}.ssm-history-in,.ssm-history-out{font-weight:800;white-space:nowrap}.ssm-history-in{color:#15803d}.ssm-history-source{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2f6;font-size:11px;font-weight:700;color:#475569;white-space:nowrap}.ssm-history-source--partner_order{background:#e0f2fe;color:#0369a1}.ssm-history-source--report{background:#f3e8ff;color:#7e22ce}.ssm-history-source--ssm_reset{background:#fee2e2;color:#b91c1c}.ssm-history-actor{margin-top:3px;font-size:11px;color:#64748b}.ssm-history-ref{font-family:ui-monospace,monospace;font-size:12px;color:#0b4780}.ssm-history-note{margin-top:3px;font-size:11px;color:#94a3b8}.report-type-layout{margin-left:30px;margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:16px;gap:16px;align-items:stretch}.report-type-group-card{border:1px solid #d5e0ff;border-radius:12px;background:#f7f9ff;padding:14px;position:relative;overflow:hidden}.report-type-group-card:before{content:"";position:absolute;inset:0;background-image:var(--biomed-logo-url);background-repeat:no-repeat;background-position:50%;background-size:58%;opacity:.12;pointer-events:none}.report-type-group-card-pet{background-color:#f5fbf8;border-color:#d1eadc}.report-type-group-card-pet:before{content:"";position:absolute;inset:0;background-image:var(--pet-logo-url);background-repeat:no-repeat;background-position:50%;background-size:60%;opacity:.14;pointer-events:none}.report-type-group-header{display:flex;align-items:center;grid-gap:10px;gap:10px;margin-bottom:12px;position:relative;z-index:1}.report-type-group-logo{width:120px;max-height:34px;object-fit:contain;background:#fff;border-radius:6px;padding:4px 8px;border:1px solid #e5e7eb}.report-type-group-name{font-family:var(--font-sans);font-size:15px;font-weight:600;color:#0b4780}.report-type-button-row{display:flex;grid-gap:10px;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.create-report-form-section{margin-bottom:24px}.create-report-form-section h3{margin-bottom:16px;color:#0b4780;font-size:18px;font-weight:600}.required-field{color:#d32f2f;margin-left:4px;font-weight:700}.create-report-form-wrapper{display:flex;grid-gap:40px;gap:40px;margin-left:40px;margin-top:30px}@media (max-width:768px){.create-report-form-wrapper{flex-direction:column;grid-gap:24px;gap:24px}.create-report-input-wrapper input,.create-report-input-wrapper select{width:100%;max-width:300px}}@keyframes progressShimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes progressGlow{0%,to{box-shadow:0 0 5px hsla(0,100%,71%,.5)}50%{box-shadow:0 0 20px hsla(0,100%,71%,.8)}}.modify-icon{transition:all .2s ease}.modify-icon:hover{transform:scale(1.1);filter:brightness(1.2)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.success-notification{position:fixed;top:20px;right:20px;z-index:10000;animation:slideInRight .3s ease-out}.success-notification-content{display:flex;align-items:center;grid-gap:12px;gap:12px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:16px 20px;border-radius:12px;box-shadow:0 8px 32px rgba(40,167,69,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);min-width:280px;font-weight:500;font-size:14px}.success-icon{width:20px;height:20px;stroke:#fff;stroke-width:3;fill:none;animation:checkmark .6s ease-out}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes checkmark{0%{stroke-dasharray:0 100;stroke-dashoffset:100}to{stroke-dasharray:100 100;stroke-dashoffset:0}}.success-notification.hiding{animation:slideOutRight .3s ease-in forwards}@keyframes slideOutRight{0%{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}.expanded-reports-section{background-color:#fffbf0;border-left:4px solid gold;margin:8px 0;border-radius:8px;box-shadow:0 2px 8px rgba(255,215,0,.1)}.expanded-reports-header{background:linear-gradient(135deg,#fff8dc,#fffbf0);padding:12px 16px;border-radius:8px 8px 0 0;border-bottom:1px solid #ffeaa7;font-weight:600;color:#8b6914}.expanded-reports-header .report-count-badge{background:gold;color:#8b6914;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:700;margin-left:8px}.expanded-individual-report{background-color:#fffef7;border-left:3px solid #ffed4e;margin:4px 0;transition:background-color .2s ease}.expanded-individual-report:hover{background-color:#fff8e1}.expanded-individual-report td{background-color:inherit}.history-table tr.expanded-reports-header{background:linear-gradient(135deg,#fff8dc,#fffbf0)!important}.history-table tr.expanded-individual-report{background-color:#fffef7!important}.history-table tr.expanded-individual-report:hover{background-color:#fff8e1!important}.history-table tr.expanded-individual-report td{background-color:inherit!important}@media (max-width:1200px){.history-table td[style*="position: relative"] img[src*="down.png"],.history-table td[style*="position: relative"] img[src*="up.png"]{left:75%!important}.history-table td:nth-child(3) span[style*="backgroundColor: #10b981"]{font-size:11px!important;padding:3px 6px!important}}@media (max-width:992px){.history-table td[style*="position: relative"] img[src*="down.png"],.history-table td[style*="position: relative"] img[src*="up.png"]{left:80%!important;width:35px!important;height:45px!important}.history-table td:nth-child(3) span[style*="backgroundColor: #10b981"]{font-size:10px!important;padding:2px 5px!important}}@media (max-width:768px){.history-table td[style*="position: relative"] img[src*="down.png"],.history-table td[style*="position: relative"] img[src*="up.png"]{left:85%!important;width:30px!important;height:40px!important}.history-table td:nth-child(3) span[style*="backgroundColor: #10b981"]{font-size:9px!important;padding:2px 4px!important}}@media (max-width:576px){.history-table td[style*="position: relative"] img[src*="down.png"],.history-table td[style*="position: relative"] img[src*="up.png"]{left:90%!important;width:25px!important;height:35px!important}.history-table td:nth-child(3) span[style*="backgroundColor: #10b981"]{font-size:8px!important;padding:1px 3px!important}}@media (max-width:480px){.history-table td[style*="position: relative"] div[style*="display: flex"]{flex-direction:column!important;grid-gap:4px!important;gap:4px!important;align-items:flex-start!important}.history-table td[style*="position: relative"] img[src*="down.png"],.history-table td[style*="position: relative"] img[src*="up.png"]{position:static!important;left:auto!important;top:auto!important;transform:none!important;margin-top:4px!important;width:20px!important;height:25px!important}.history-table td:nth-child(3) span[style*="backgroundColor: #10b981"]{font-size:7px!important;padding:1px 2px!important}}@media (max-width:1200px){.title_leftcontent{font-size:24px}}@media (max-width:992px){.main_content{flex-direction:column}.left_content{border-right:none;border-bottom:2px solid hsla(0,0%,59.2%,.1);padding-bottom:24px}.right_content{flex:1 1;margin-top:24px}.title_leftcontent{font-size:22px}.block1{margin-top:50px}}@media (max-width:768px){.main_content{margin:var(--sp-3);padding:var(--sp-4)}.title_image{margin:var(--sp-3) var(--sp-3) 0 var(--sp-3);padding:var(--sp-4)}.title_leftcontent{font-size:18px}.block1,.block2,.block3{width:calc(100% - 20px);margin-left:10px}.title_blocksub{width:85%}.title_status_re,.title_status_sub{width:auto;display:inline-block;padding:0 8px}.new_rp,.title_time{left:10px}}@media (max-width:480px){.main_content{margin:var(--sp-2);padding:var(--sp-3)}.title_leftcontent{font-size:16px;left:10px}.new_rp{font-size:13px;width:150px}.block1{margin-top:40px}.title_block{font-size:16px}.title_blocksub{font-size:12px;width:90%}}.dashboard-page{--bg-app:#d3e0ea;--bg-surface:#fff;--bg-surface-2:#e7eff5;--bg-raised:#fff;--bg-hover:#dfe9f0;--bg-active:#ccdbe6;--bg-inset:#eef4f8;--bg-overlay:rgba(23,74,91,0.42);--border-subtle:#cbdae4;--border-default:#b3c8d6;--border-strong:#94b1c2;--border-focus:#4797a8;--text-primary:#174a5b;--text-secondary:#2e5f6e;--text-muted:#4d7280;--text-faint:#5f818e;--text-inverse:#fff;--text-accent:#2a7c8d;--text-link:#2a7c8d;--accent:#174a5b;--accent-hover:#205e73;--accent-press:#103845;--accent-soft:rgba(71,151,168,0.16);--accent-soft-border:rgba(71,151,168,0.42);--accent-on:#fff;--success:#4a7c59;--success-soft:#e8f0e9;--success-text:#3f6f4f;--warning:#d0c0a9;--warning-soft:#f4eee6;--warning-text:#7a6647;--danger:#b4433a;--danger-soft:#f9e9e7;--danger-text:#9c3a32;--info:#7c87bf;--info-soft:#ecedf7;--info-text:#565f96;--brand-deep:#174a5b;--brand:#4797a8;--brand-soft:rgba(71,151,168,0.14);--data-1:#174a5b;--data-2:#2a7c8d;--data-3:#7c87bf;--data-4:#a8926f;--data-5:#b4433a;--sh-xs:0 1px 2px rgba(23,74,91,0.06);--sh-sm:0 1px 3px rgba(23,74,91,0.09),0 1px 2px rgba(23,74,91,0.05);--sh-md:0 4px 12px rgba(23,74,91,0.1),0 1px 3px rgba(23,74,91,0.06);--sh-lg:0 12px 32px rgba(23,74,91,0.14),0 2px 8px rgba(23,74,91,0.07);--sh-xl:0 24px 56px rgba(23,74,91,0.18);--sh-inset:inset 0 1px 2px rgba(23,74,91,0.07);--ring-focus:0 0 0 3px rgba(71,151,168,0.35);--ring-danger:0 0 0 3px rgba(180,67,58,0.28);color-scheme:light}.dashboard-page .pdf-pages,.dashboard-page .pdf-preview-content,.dashboard-page .pdf-preview-overlay{--bg-app:var(--cream-100);--bg-surface:#fff;--bg-surface-2:var(--cream-200);--bg-raised:var(--cream-300);--bg-hover:var(--cream-200);--bg-active:var(--cream-400);--bg-inset:var(--cream-200);--bg-overlay:rgba(25,25,23,0.55);--border-subtle:var(--line-200);--border-default:var(--line-300);--border-strong:var(--line-400);--border-focus:var(--clay-500);--text-primary:var(--ink-900);--text-secondary:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--text-inverse:#fff;--text-accent:var(--clay-700);--text-link:var(--clay-700);--accent:var(--clay-500);--accent-hover:var(--clay-600);--accent-press:var(--clay-700);--accent-soft:var(--clay-100);--accent-soft-border:var(--clay-200);--accent-on:#fff;--success:var(--green-500);--success-soft:var(--green-100);--success-text:var(--green-600);--warning:var(--amber-500);--warning-soft:var(--amber-100);--warning-text:var(--amber-600);--danger:var(--red-500);--danger-soft:var(--red-100);--danger-text:var(--red-600);--info:var(--blue-500);--info-soft:var(--blue-100);--info-text:var(--blue-600);--brand-deep:#1d4b57;--brand:var(--teal-600);--brand-soft:var(--teal-100);--data-1:#2e5e86;--data-2:#4c8fa8;--data-3:#6e9e63;--data-4:#c08a2e;--data-5:#b4433a;--sh-xs:0 1px 2px rgba(25,25,23,0.05);--sh-sm:0 1px 3px rgba(25,25,23,0.07),0 1px 2px rgba(25,25,23,0.04);--sh-md:0 4px 12px rgba(25,25,23,0.07),0 1px 3px rgba(25,25,23,0.05);--sh-lg:0 12px 32px rgba(25,25,23,0.1),0 2px 8px rgba(25,25,23,0.05);--sh-xl:0 24px 56px rgba(25,25,23,0.16);--sh-inset:inset 0 1px 2px rgba(25,25,23,0.05);--ring-focus:0 0 0 3px rgba(217,119,87,0.32);--ring-danger:0 0 0 3px rgba(180,67,58,0.28);color:var(--ink-900);color-scheme:light}.dashboard-page .calc-result,.dashboard-page .calc-status-text,.dashboard-page .create-title,.dashboard-page .csv-popup-header h3,.dashboard-page .empty-state h4,.dashboard-page .history-title,.dashboard-page .member-name,.dashboard-page .modal-title-content h3,.dashboard-page .newformula-stock-value,.dashboard-page .personal-info-form h3,.dashboard-page .report-type-group-name,.dashboard-page .result-value,.dashboard-page .right_member,.dashboard-page .right_title,.dashboard-page .score-label,.dashboard-page .ssm-history-title,.dashboard-page .text_tiR,.dashboard-page .title-label,.dashboard-page .title_block,.dashboard-page .title_color,.dashboard-page .title_leftcontent,.dashboard-page .title_time{color:var(--text-primary)}.dashboard-page .drag-drop-text span,.dashboard-page .dropdown-arrow,.dashboard-page .empty-state,.dashboard-page .empty-state p,.dashboard-page .member-avatar,.dashboard-page .modal-title-content p,.dashboard-page .newformula-stock-strain,.dashboard-page .pagination-info,.dashboard-page .pagination-total,.dashboard-page .right_submem,.dashboard-page .role-label,.dashboard-page .ssm-history-actor,.dashboard-page .ssm-history-when,.dashboard-page .stat-label,.dashboard-page .title_blocksub,.dashboard-page .title_who{color:var(--text-muted)}.dashboard-page .block1,.dashboard-page .block2,.dashboard-page .block3,.dashboard-page .expanded-individual-report,.dashboard-page .expanded-reports-section,.dashboard-page .member-avatar,.dashboard-page .newformula-stock-figure,.dashboard-page .report-type-group-card,.dashboard-page .report-type-group-card-pet,.dashboard-page .stat-card{background:var(--bg-surface-2);border-color:var(--border-subtle)}.dashboard-page .add-box,.dashboard-page .drag-drop-text strong,.dashboard-page .expanded-reports-header,.dashboard-page .filter-dropdown-header,.dashboard-page .newformula-stock-card:focus-visible .newformula-stock-code,.dashboard-page .newformula-stock-card:hover .newformula-stock-code,.dashboard-page .newformula-stock-code,.dashboard-page .ssm-history-ref,.dashboard-page .ssm-history-sku,.dashboard-page .stat-number{color:var(--text-accent)}.dashboard-page .right_status,.dashboard-page .ssm-history-in,.dashboard-page .title_status_sub{color:var(--success-text)}.dashboard-page .popup-btncancle,.dashboard-page .reject_button,.dashboard-page .required-field,.dashboard-page .ssm-history-out,.dashboard-page .title_status_re{color:var(--danger-text)}.dashboard-page .analytics-section-custom,.dashboard-page .csv-popup-content.modern,.dashboard-page .database-section-custom,.dashboard-page .database-table-wrapper,.dashboard-page .history-table,.dashboard-page .history-wrapper,.dashboard-page .member-card-enhanced,.dashboard-page .member-settings-modal,.dashboard-page .modal,.dashboard-page .modern-modal,.dashboard-page .newformula-stock-card,.dashboard-page .report-type-group-logo,.dashboard-page .ssm-history-filter,.dashboard-page .storage-section-custom{background:var(--bg-surface);border-color:var(--border-subtle);color:var(--text-primary)}.dashboard-page .member-card-enhanced:hover,.dashboard-page .modal-close-btn:hover{background:var(--bg-hover)}.dashboard-page .drag-drop-zone,.dashboard-page .modern-modal-footer,.dashboard-page .pagination-container{background:var(--bg-surface-2);border-color:var(--border-subtle)}.dashboard-page .drag-drop-zone.drag-over,.dashboard-page .drag-drop-zone:hover{background:var(--bg-hover);border-color:var(--accent)}.dashboard-page .csv-popup-table th,.dashboard-page .database-table th,.dashboard-page .history-table th,.dashboard-page .ssm-history-table th{background:var(--bg-surface-2);color:var(--text-secondary);border-color:var(--border-default)}.dashboard-page .database-table td,.dashboard-page .history-table td,.dashboard-page .ssm-history-table td{color:var(--text-primary);border-color:var(--border-subtle)}.dashboard-page .database-table tbody tr:nth-child(2n):hover,.dashboard-page .database-table tr:hover,.dashboard-page .history-table tr:hover{background:var(--bg-hover)}.dashboard-page .database-table tbody tr:nth-child(2n){background:var(--bg-surface-2)}.dashboard-page .history-table tr.expanded-reports-header{background:var(--bg-surface-2)!important}.dashboard-page .history-table tr.expanded-individual-report{background:var(--bg-surface)!important}.dashboard-page .history-table tr.expanded-individual-report:hover{background:var(--bg-hover)!important}.dashboard-page .expanded-individual-report:hover{background:var(--bg-hover)}.dashboard-page .expanded-reports-header .report-count-badge{background:var(--accent-soft);color:var(--text-accent)}.dashboard-page .members-list::-webkit-scrollbar-track{background:var(--bg-inset)}.dashboard-page .members-list::-webkit-scrollbar-thumb{background:var(--border-strong)}.dashboard-page .create-report-input-wrapper input,.dashboard-page .create-report-input-wrapper select,.dashboard-page .filter-input,.dashboard-page .modern-input,.dashboard-page .modern-select,.dashboard-page .modern-select.enhanced,.dashboard-page .search-input{background:var(--bg-inset);color:var(--text-primary);border-color:var(--border-default)}.dashboard-page .filter-input::placeholder,.dashboard-page .modern-input::placeholder,.dashboard-page .search-input::placeholder{color:var(--text-faint)}.dashboard-page .create-report-input-wrapper label,.dashboard-page .form-group label,.dashboard-page .input-wrapper label{color:var(--text-secondary)}.dashboard-page .btn-secondary,.dashboard-page .confirm_button,.dashboard-page .filter-dropdown-btn,.dashboard-page .history-filter-search-btn,.dashboard-page .import-btn,.dashboard-page .mode_btn,.dashboard-page .mode_btn_customeST,.dashboard-page .modify-button,.dashboard-page .popup-btnsss,.dashboard-page .popup-btnsubmit{background:var(--bg-surface-2);color:var(--text-primary);border-color:var(--border-default)}.dashboard-page .btn-secondary:hover,.dashboard-page .import-btn:hover,.dashboard-page .mode_btn:hover,.dashboard-page .popup-btn.secondary:hover{background:var(--bg-hover)}.dashboard-page .popup-btn.secondary{background:var(--bg-surface-2);color:var(--text-primary)}.dashboard-page .close-btn{background:var(--accent);color:var(--accent-on)}.dashboard-page .cancel-button,.dashboard-page .pagination-button:disabled,.dashboard-page .pagination-button:disabled:hover,.dashboard-page .popup-btn.disabled,.dashboard-page .popup-btn.disabled:hover,.dashboard-page .popup-btn.primary.disabled,.dashboard-page .popup-btn.primary.disabled:hover,.dashboard-page .preview-button.disabled,.dashboard-page .preview-button.disabled:hover,.dashboard-page .submit-button.disabled,.dashboard-page .submit-button.disabled:hover{background:var(--bg-surface-2);color:var(--text-faint);border-color:var(--border-subtle)}.dashboard-page .btn-danger-enhanced{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger)}.dashboard-page .btn-danger-enhanced:hover{background:var(--danger-soft);border-color:var(--danger-text)}.dashboard-page .btn-secondary-enhanced,.dashboard-page .btn-secondary-enhanced:hover{background:var(--bg-surface-2);color:var(--text-primary);border-color:var(--border-default)}.dashboard-page .new_rp,.dashboard-page .new_rp.disabled-button:hover,.dashboard-page .new_rp:hover{color:var(--text-accent)}.dashboard-page .error-message{background:var(--danger-soft);color:var(--danger-text);border-color:var(--danger)}.dashboard-page .modal-close-btn{color:var(--text-muted)}.dashboard-page .filter-dropdown-item,.dashboard-page .modal-close-btn:hover{color:var(--text-primary)}.dashboard-page .filter-dropdown-item:hover{color:var(--text-accent);background:var(--bg-hover)}.dashboard-page .history-loading-banner{background:var(--bg-surface-2);border-color:var(--border-subtle)}.dashboard-page .history-loading-banner-title,.dashboard-page .history-table-loading-overlay p{color:var(--text-primary)}.dashboard-page .history-table-loading-overlay{background:var(--bg-overlay)}.dashboard-page .ssm-history-source{background:var(--bg-surface-2);color:var(--text-secondary)}.dashboard-page .ssm-history-source--partner_order{background:var(--info-soft);color:var(--info-text)}.dashboard-page .ssm-history-source--report{background:var(--accent-soft);color:var(--text-accent)}.dashboard-page .ssm-history-source--ssm_reset{background:var(--danger-soft);color:var(--danger-text)}.dashboard-page .new_rp,.dashboard-page .new_rp.disabled-button:hover{background:var(--accent-soft);border-color:var(--accent-soft-border)}.dashboard-page .new_rp:hover{background:var(--bg-hover)}.dashboard-page .right_status,.dashboard-page .title_status_sub{background:var(--success-soft)}.dashboard-page .popup-btncancle,.dashboard-page .reject_button,.dashboard-page .title_status_re{background:var(--danger-soft)}.dashboard-page .popup-btnsubmit{background:var(--accent-soft);color:var(--text-accent)}.dashboard-page .input_regisD{color:var(--text-secondary)}.dashboard-page .modal-overlay{color:var(--text-primary)}.dashboard-page .history-loading-banner-sub{color:var(--text-muted)}.dashboard-page .calc-overlay{background:rgba(211,224,234,.82)}.dashboard-page .history-table-loading-overlay{background:hsla(0,0%,100%,.9)}.dashboard-page .filter-dropdown-btn,.dashboard-page .filter-dropdown-menu,.dashboard-page .filter-input,.dashboard-page .filter-input:focus,.dashboard-page .history-filter-search-btn,.dashboard-page .pagination-info,.dashboard-page .pagination-total{background:var(--bg-surface-2);border-color:var(--border-default)}.dashboard-page .filter-dropdown-btn:disabled,.dashboard-page .filter-input:disabled{background:var(--bg-inset);color:var(--text-faint)}.dashboard-page .filter-section{background-image:none;background:var(--bg-surface-2);border:1px solid var(--border-subtle)}.dashboard-page .pagination-button:enabled,.dashboard-page .pagination-button:enabled:hover{background-image:none;background:var(--accent);color:var(--accent-on)}.dashboard-page .clear-filter-btn:disabled,.dashboard-page .clear-filter-btn:disabled:hover{background:var(--bg-surface-2);color:var(--text-faint)}.dashboard-page .bulk-download-btn:disabled,.dashboard-page .bulk-download-btn[disabled]{background:var(--bg-surface-2)!important;color:var(--text-faint)!important;border-color:var(--border-subtle)}.dashboard-page .filter-title{color:var(--text-primary)}.dashboard-page .right_sub{color:var(--text-muted)}.dashboard-page .newformula-stock-hint{background:var(--brand-deep);color:var(--text-inverse)}.dashboard-page .loading-spinner{border-top-color:var(--border-strong);border-color:var(--accent) var(--border-strong) var(--border-strong)}.pdf-pages,.pdf-pages *{font-family:"Gilroy-Regular","Gilroy","Noto Sans Thai","Noto Sans",system-ui,sans-serif}.pdf-overlay-text{font-family:"Gilroy-Regular","Gilroy","Noto Sans Thai","Noto Sans",system-ui,sans-serif;font-weight:400!important}.pdf-pages .mitr-bold,.pdf-pages .mitr-extralight,.pdf-pages .mitr-light,.pdf-pages .mitr-medium,.pdf-pages .mitr-regular,.pdf-pages .mitr-semibold{font-family:"Gilroy-Regular","Gilroy","Noto Sans Thai","Noto Sans",system-ui,sans-serif;font-weight:400!important;font-style:normal!important}.pdf-pages div,.pdf-pages h1,.pdf-pages h2,.pdf-pages h3,.pdf-pages h4,.pdf-pages h5,.pdf-pages h6,.pdf-pages p,.pdf-pages span{font-family:"Gilroy-Regular","Gilroy","Noto Sans Thai","Noto Sans",system-ui,sans-serif;font-weight:400!important}.pdf-pages *{font-weight:400}.pdf-pages--thai-lang,.pdf-pages--thai-lang *,.pdf-pages .eng-content,.pdf-pages .english-content,.pdf-pages .thai-content,.pdf-pages [data-language=en],.pdf-pages [data-language=eng],.pdf-pages [data-language=th],.pdf-pages [data-language=thai]{font-family:"Gilroy-Regular","Gilroy","Noto Sans Thai","Noto Sans",system-ui,sans-serif!important}.pdf-pages .pdf-overlay-text.is-bold,.pdf-pages .supplement-label{font-weight:700!important}.pdf-pages .s9p-card .s9p-fw6{font-weight:600!important}.pdf-pages .s9p-card .s9p-fw7{font-weight:700!important}.pdf-pages .s9p-card .s9p-fw8{font-weight:800!important}.pdf-pages-row{display:flex;align-items:flex-start;grid-gap:10px;gap:10px}.pdf-quick-nav{position:sticky;top:10px;align-self:flex-start;flex:none;z-index:1200;width:240px;background:#f8f9fa;border:1px solid #e1e1e1;border-radius:8px;padding:12px;box-sizing:border-box;box-shadow:0 4px 14px rgba(0,0,0,.18)}.pdf-quick-nav__title{font-weight:600!important;margin-bottom:10px;color:#2c3e50;font-size:14px}.pdf-quick-nav__btn{display:flex;align-items:center;justify-content:space-between;grid-gap:8px;gap:8px;width:100%;margin-bottom:8px;padding:8px 10px;text-align:left;white-space:normal;line-height:1.3;font-size:13px;color:#2c3e50;background:#fff;border:1px solid #d8dde2;border-radius:6px;cursor:pointer}.pdf-quick-nav__btn:last-child{margin-bottom:0}.pdf-quick-nav__btn:hover{background:#eef4fb;border-color:#a9c7e8}.pdf-quick-nav__btn:focus-visible{outline:2px solid #2c7be5;outline-offset:2px}.pdf-quick-nav__page{flex:none;font-size:11px;color:#7a848d;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pdf-preview-overlay{position:fixed;top:0;left:0;height:100%;background:rgba(20,20,20,.7);z-index:1000;justify-content:center}.pdf-preview-content,.pdf-preview-overlay{width:100%;display:flex;align-items:center}.pdf-preview-content{background-color:#e5e5e5;padding:20px;border-radius:8px;height:90%;flex-direction:column;position:relative;overflow-y:auto}.pdf-title{margin-top:10px;color:#036;font-size:20px}.pdf-pages{display:flex;flex-direction:column;align-items:center}.pdf-page-img{width:794px;height:1123px;display:block;object-fit:cover;border-radius:4px;background-color:#fff;box-shadow:0 0 10px rgba(0,0,0,.15)}.pdf-button-group{position:sticky;bottom:-20px;background-color:#e5e5e5;padding:15px 0;width:100%;display:flex;justify-content:center;grid-gap:20px;gap:20px;z-index:999}.pdf-cancel,.pdf-download{padding:10px 20px;font-size:16px;border:none;border-radius:5px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.24)}.pdf-download{background-color:#1d72b8;color:#fff}.pdf-cancel{background-color:#ccc;color:#000}.pdf-toolbar{width:100%;display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;position:sticky;top:0;background:#e5e5e5;z-index:2}.pdf-page-wrapper{position:relative;width:794px;height:1123px;margin-bottom:20px;display:flex;justify-content:center}.pdf-overlay-text{position:absolute;pointer-events:none;white-space:nowrap}.pdf-page-img{transition:transform .2s ease}.pdf-overlay-dot{box-shadow:0 0 3px rgba(0,0,0,.3)}.lowbar.score-1{background-color:#28a745}.lowbar.score-2{background-color:#ffc107}.lowbar.score-3{background-color:#fd1414}.navigator{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;height:100%;padding:18px 22px 20px 0;box-sizing:border-box;font-family:var(--font-sans);color:var(--text-primary)}.nav-head{display:flex;align-items:flex-start;justify-content:space-between;grid-gap:12px;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--border-subtle)}.nav-title{margin:0;font-size:18px;font-weight:600;letter-spacing:-.01em}.nav-blurb{margin:4px 0 0;font-size:12.5px;line-height:1.6;color:var(--text-muted)}.nav-dot{flex:none;width:9px;height:9px;margin-top:7px;border-radius:50%;background:var(--border-strong)}.nav-dot.is-on{background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.nav-thread{display:flex;flex-direction:column;grid-gap:16px;gap:16px;flex:1 1 auto;min-height:160px;overflow-y:auto;padding:16px 4px 6px 0}.nav-thread>:first-child{margin-top:0}.nav-empty{margin:0;font-size:13px;line-height:1.8;color:var(--text-muted)}.nav-msg{max-width:min(100%,860px);font-size:14px;line-height:1.7}.nav-msg .who{display:block;margin-bottom:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.nav-msg .body{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary)}.nav-msg.me{align-self:flex-end}.nav-msg.me .who{text-align:right}.nav-msg.me .body{background:var(--bg-surface-2);border:1px solid var(--border-subtle);border-radius:12px;padding:11px 15px}.nav-msg.ai .body{border-left:2px solid var(--brand);padding-left:14px}.nav-msg.err .body{border-left-color:var(--danger);color:var(--danger-text)}.nav-msg.pending .body{color:var(--text-muted)}.nav-msg .dots i{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:currentColor;animation:nav-blip 1.1s ease-in-out infinite}.nav-msg .dots i:nth-child(2){animation-delay:.16s}.nav-msg .dots i:nth-child(3){animation-delay:.32s}@keyframes nav-blip{0%,60%,to{opacity:.25}30%{opacity:1}}.nav-msg .slow{font-size:12px;color:var(--text-faint)}.nav-mode{display:flex;align-items:center;grid-gap:8px;gap:8px;margin-top:14px}.nav-mode-opt{appearance:none;cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-muted);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:999px;padding:5px 13px;transition:color .15s,background-color .15s,border-color .15s}.nav-mode-opt:hover{color:var(--text-primary)}.nav-mode-opt.is-active{color:var(--accent-on);background:var(--accent);border-color:var(--accent);font-weight:600}.nav-mode-opt:focus-visible{outline:none;box-shadow:var(--ring-focus)}.nav-mode-hint{font-size:11.5px;color:var(--text-faint)}.nav-composer{display:flex;align-items:flex-end;grid-gap:10px;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-subtle)}.nav-composer textarea{flex:1 1;resize:none;font:inherit;font-size:14px;line-height:1.6;color:var(--text-primary);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:12px;padding:11px 14px;max-height:190px;transition:border-color .15s,background-color .15s,box-shadow .15s}.nav-composer textarea::placeholder{color:var(--text-faint)}.nav-composer textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--ring-focus);background:var(--bg-surface)}.nav-composer textarea:disabled{opacity:.6;cursor:not-allowed}.nav-send{appearance:none;cursor:pointer;flex:none;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--accent);color:var(--accent-on);border:0;transition:background-color .15s,opacity .15s}.nav-send:hover:not(:disabled){background:var(--accent-hover)}.nav-send:disabled{opacity:.4;cursor:default}.nav-send:focus-visible{outline:none;box-shadow:var(--ring-focus)}.nav-foot{display:flex;grid-gap:18px;gap:18px;margin-top:12px}.nav-link{appearance:none;border:0;background:none;padding:0;cursor:pointer;font-family:inherit;font-size:12px;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px}.nav-link:hover{color:var(--text-primary)}.nav-link:disabled{opacity:.45;cursor:default;text-decoration:none}.nav-key{margin-top:16px;border:1px solid var(--border-subtle);border-radius:14px;padding:14px 16px;background:var(--bg-surface-2)}.nk-h{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.nk-s{margin:6px 0 0;font-size:11.5px;line-height:1.7;color:var(--text-muted)}.nk-msg{color:var(--text-secondary)}.nk-row{display:flex;grid-gap:8px;gap:8px;margin-top:10px}.nk-row input{flex:1 1;min-width:0;font:inherit;font-size:13px;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;padding:8px 12px}.nk-row input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--ring-focus)}.nk-clear,.nk-save{appearance:none;cursor:pointer;font:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:10px;border:1px solid transparent}.nk-save{background:var(--accent);color:var(--accent-on)}.nk-save:hover:not(:disabled){background:var(--accent-hover)}.nk-clear{background:transparent;color:var(--danger-text);border-color:var(--danger)}.nk-clear:hover:not(:disabled){background:var(--danger-soft)}.nk-clear:disabled,.nk-save:disabled{opacity:.5;cursor:default}.navigator .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@media (max-width:820px){.navigator{padding-right:0}.nav-msg{max-width:100%}}@media (prefers-reduced-motion:reduce){.nav-msg .dots i{animation:none;opacity:.6}}
/*# sourceMappingURL=main.74fb2d1d.chunk.css.map */