:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7fbf8;--background-strong:#eef7f0;--foreground:#172033;--muted:#667085;--muted-strong:#475467;--panel:#fff;--panel-soft:#f8fcf9;--panel-tint:#f0fdf4;--border:#dfe9e2;--border-strong:#c8d8cd;--accent:#15803d;--accent-strong:#166534;--accent-soft:#dcfce7;--accent-glow:#15803d24;--warning:#d97706;--warning-soft:#fff7ed;--error:#dc2626;--error-bg:#fef2f2;--success-bg:#f0fdf4;--shadow:0 18px 48px #17203314;--shadow-sm:0 10px 24px #1720330f;--radius-sm:8px;--radius:10px;--radius-lg:14px;--app-content-width:1600px;--app-gutter:15px}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--foreground);font-family:var(--font-noto-sans-thai), var(--font-space-grotesk), "Leelawadee UI", Tahoma, sans-serif;background:linear-gradient(180deg, #f0fdf4d9, #f7fbf8e6 32%, #fff 100%), radial-gradient(circle at 8% 0%, #15803d1f, transparent 30%), radial-gradient(circle at 92% 10%, #14532d14, transparent 26%), var(--background)}.main{min-height:100vh;padding:15px var(--app-gutter);place-items:center;display:grid}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(580px,100%);min-width:0;max-width:100%;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;padding:34px 32px 32px;overflow:hidden}.panelWide{width:min(var(--app-content-width), 100%);max-width:100%}.dashboardMain{place-items:start center}.dashboardPanel{padding:32px}.eyebrow{color:var(--accent-strong);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h1{color:#101828;letter-spacing:-.035em;margin:0 0 10px;font-size:38px;line-height:1.08}p{color:var(--muted);margin:0;font-size:16px;line-height:1.62}.lead{max-width:680px;margin-bottom:12px}.headerRow{justify-content:space-between;align-items:flex-start;gap:18px;min-width:0;display:flex}.landingConceptPanel{min-height:calc(100vh - 30px)}.landingConcept{border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at 86% 8%, #15803d1a, transparent 29%), linear-gradient(145deg, #fff 0%, var(--panel-soft) 100%);gap:22px;padding:clamp(26px,4vw,54px);display:grid}.landingConceptBody{grid-template-columns:minmax(0,1.35fr) clamp(260px,26vw,400px);align-items:center;gap:clamp(26px,4vw,58px);display:grid}.landingConceptVisual{border-radius:var(--radius-lg);background:#ffffff70;border:1px solid #0f3f6924;justify-self:center;place-items:center;width:min(100%,352px);padding:15px;display:grid;box-shadow:0 10px 26px #0f3f690f}.landingConceptVisual img{object-fit:contain;filter:drop-shadow(0 18px 24px #0f3f6929);width:100%;max-width:320px;height:auto;display:block}.landingConceptGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.landingConceptCard{border:1px solid var(--border);border-radius:var(--radius);min-height:178px;box-shadow:var(--shadow-sm);background:#ffffffeb;flex-direction:column;padding:22px;display:flex}.landingConceptCardTop{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.landingConceptIcon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent-strong);border-radius:12px;place-items:center;display:grid}.landingConceptIcon .lucide{width:21px;height:21px}.landingConceptNumber{color:var(--border-strong);font-family:var(--font-space-grotesk);letter-spacing:.12em;font-size:12px;font-weight:800}.landingConceptCard h2{color:var(--foreground);margin:auto 0 8px;font-size:18px;line-height:1.35}.landingConceptCard p{font-size:14px;line-height:1.65}@media (max-width:980px){.landingConceptBody{grid-template-columns:1fr}.landingConceptVisual img{max-width:224px}.landingConceptVisual{width:min(100%,256px)}}@media (max-width:720px){.landingConceptPanel{min-height:calc(100vh - 30px)}.landingConcept{padding:22px 18px}.landingConceptBody{gap:24px}.landingConceptVisual img{width:100%;max-width:160px}.landingConceptVisual{width:min(52vw,192px);padding:15px}.landingConceptGrid{grid-template-columns:1fr}.landingConceptCard{min-height:170px}}.landingPage{isolation:isolate;background:#f6faf7;min-height:100vh;padding:0 clamp(20px,5vw,76px);position:relative;overflow:hidden}.landingBackdrop{z-index:-1;background:linear-gradient(#ffffff0b 1px,#0000 1px) 0 0/56px 56px,linear-gradient(90deg,#ffffff0b 1px,#0000 1px) 0 0/56px 56px,radial-gradient(circle at 78% 23%,#4ade802e,#0000 26%),linear-gradient(125deg,#082e23 0%,#0b4931 58%,#0b5f3a 100%);height:760px;position:absolute;inset:0 0 auto}.landingHeader{border-bottom:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:24px;width:min(1320px,100%);min-height:94px;margin:0 auto;display:flex}.landingBrand,.landingHeaderActions,.landingCenterName,.landingHeaderLink,.landingPrimaryAction,.landingSecondaryAction,.landingTrustLine,.landingWorkspaceLink,.landingClosingAction{align-items:center;display:inline-flex}.landingBrand{color:#fff;gap:12px;text-decoration:none}.landingBrandMark{background:#fffffff0;border:1px solid #fff3;border-radius:14px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 12px 36px #00000029}.landingBrandMark img{object-fit:contain;width:36px;height:36px}.landingBrand>span:last-child{gap:1px;display:grid}.landingBrand strong{font-family:var(--font-space-grotesk);letter-spacing:.08em;font-size:17px}.landingBrand small{color:#ffffffad;font-size:11px;font-weight:700}.landingHeaderActions{gap:10px}.landingCenterName{color:#ffffffb8;gap:6px;font-size:12px;font-weight:700}.landingCenterName .lucide{width:15px}.landingHeaderLink{color:#fff;background:#ffffff14;border:1px solid #ffffff38;border-radius:999px;gap:8px;min-height:42px;padding:9px 16px;font-size:13px;font-weight:800;text-decoration:none;transition:background .18s,transform .18s}.landingHeaderLink:hover{background:#ffffff29;transform:translateY(-1px)}.landingHero{grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);align-items:center;gap:clamp(42px,8vw,116px);width:min(1320px,100%);min-height:650px;margin:0 auto;padding:70px 0 94px;display:grid}.landingHeroCopy{max-width:720px}.landingKicker{color:#86efac;font-family:var(--font-space-grotesk);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:22px;font-size:11px;font-weight:800;display:flex}.landingKicker span{background:#4ade80;width:28px;height:1px}.landingHero h1{color:#fff;letter-spacing:-.055em;margin:0;font-size:clamp(45px,5.4vw,78px);font-weight:850;line-height:1.08}.landingHero h1 em{color:#a7f3d0;font-style:normal;font-weight:600}.landingLead{color:#ecfdf5bf;max-width:660px;margin-top:26px;font-size:clamp(16px,1.5vw,20px);line-height:1.8}.landingHeroActions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.landingPrimaryAction,.landingSecondaryAction{border-radius:999px;min-height:50px;font-size:14px;font-weight:850;text-decoration:none}.landingPrimaryAction{color:#0b5b38;background:#fff;gap:10px;padding:12px 22px;box-shadow:0 14px 32px #0000002e}.landingPrimaryAction:hover .lucide,.landingWorkspaceCard:hover .landingWorkspaceLink .lucide,.landingClosingAction:hover>.lucide{transform:translate(4px)}.landingPrimaryAction .lucide,.landingWorkspaceLink .lucide,.landingClosingAction>.lucide{transition:transform .18s}.landingSecondaryAction{color:#fff;border:1px solid #ffffff38;justify-content:center;padding:12px 20px}.landingTrustLine{color:#ffffff8c;gap:7px;margin-top:22px;font-size:11px;font-weight:700}.landingTrustLine .lucide{color:#86efac}.landingDataPanel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#04261c8c;border:1px solid #ffffff2b;border-radius:24px;padding:20px;position:relative;overflow:hidden;box-shadow:0 26px 70px #00000038}.landingDataPanel:after{content:"";filter:blur(2px);background:#4ade8014;border-radius:50%;width:220px;height:220px;position:absolute;inset:auto -60px -90px auto}.landingPanelTopline{color:#ffffff73;font-family:var(--font-space-grotesk);letter-spacing:.14em;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;display:flex}.landingLiveDot{color:#86efac;letter-spacing:0;align-items:center;gap:6px;display:inline-flex}.landingLiveDot:before{content:"";background:#4ade80;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 5px #4ade801a}.landingRadar{aspect-ratio:1;background:radial-gradient(circle,#4ade8014,#0000 62%);border-radius:50%;width:min(280px,72%);margin:20px auto 22px;position:relative}.landingRadarRing,.landingRadarAxis,.landingRadarSweep,.landingRadarPoint,.landingRadarCore{position:absolute}.landingRadarRing{border:1px solid #86efac2e;border-radius:50%;inset:0}.landingRadarRingInner{inset:24%}.landingRadarAxisX{background:#86efac21;height:1px;top:50%;left:0;right:0}.landingRadarAxisY{background:#86efac21;width:1px;top:0;bottom:0;left:50%}.landingRadarSweep{background:conic-gradient(from 38deg,#4ade8038,#0000 20%,#0000);border-radius:50%;animation:8s linear infinite landingSweep;inset:4%}.landingRadarPoint{background:#4ade80;border:1px solid #d1fae5;border-radius:50%;width:7px;height:7px;box-shadow:0 0 16px #4ade80}.landingRadarPointOne{top:24%;left:29%}.landingRadarPointTwo{top:48%;right:18%}.landingRadarPointThree{bottom:21%;left:41%}.landingRadarCore{background:#fffffff0;border:1px solid #fff3;border-radius:50%;place-items:center;display:grid;inset:37%;box-shadow:0 0 32px #4ade803d}.landingRadarCore img{object-fit:contain;width:70%;height:70%}.landingQualityList{gap:7px;display:grid}.landingQualityItem{background:#ffffff0e;border:1px solid #ffffff17;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.landingQualityIcon{color:#86efac;background:#4ade801f;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.landingQualityIcon .lucide{width:15px}.landingQualityItem>span:nth-child(2){display:grid}.landingQualityItem strong{color:#fff;font-size:12px}.landingQualityItem small{color:#ffffff7a;font-size:10px}.landingQualityIndex{color:#ffffff40;font-family:var(--font-space-grotesk);font-size:10px;font-weight:800}.landingPurpose{width:min(1320px,100%);margin:0 auto;padding:100px 0 110px}.landingSectionHeading{gap:8px;max-width:740px;margin-bottom:42px;display:grid}.landingSectionHeading>p,.landingClosing>div>p{color:#15803d;font-family:var(--font-space-grotesk);letter-spacing:.16em;font-size:10px;font-weight:850}.landingSectionHeading h2,.landingClosing h2{color:#10281d;letter-spacing:-.035em;margin:0;font-size:clamp(29px,3vw,44px);line-height:1.2}.landingSectionHeading>span{color:var(--muted);font-size:15px;line-height:1.7}.landingWorkspaceGrid{border-top:1px solid #d6e4da;border-left:1px solid #d6e4da;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.landingWorkspaceCard{min-height:330px;color:var(--foreground);background:#ffffffb8;border-bottom:1px solid #d6e4da;border-right:1px solid #d6e4da;flex-direction:column;padding:28px;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s;display:flex;position:relative}.landingWorkspaceCard:hover{z-index:2;background:#fff;transform:translateY(-5px);box-shadow:0 22px 50px #173c271a}.landingWorkspaceNumber{color:#90a89a;font-family:var(--font-space-grotesk);letter-spacing:.1em;font-size:11px;font-weight:800}.landingWorkspaceIcon{color:#15803d;background:#e7f8ec;border-radius:14px;place-items:center;width:46px;height:46px;margin:38px 0 22px;display:grid}.landingWorkspaceIcon .lucide{width:21px;height:21px}.landingWorkspaceCard>strong{font-size:17px;line-height:1.4}.landingWorkspaceCard>p{color:var(--muted);margin-top:9px;font-size:13px;line-height:1.7}.landingWorkspaceLink{color:#166534;gap:7px;margin-top:auto;padding-top:24px;font-size:12px;font-weight:850}.landingClosing{background:#e3f5e8;border-radius:26px;justify-content:space-between;align-items:center;gap:44px;width:min(1320px,100%);margin:0 auto 56px;padding:clamp(34px,5vw,66px);display:flex;overflow:hidden}.landingClosing>div{gap:10px;display:grid}.landingClosingAction{color:#fff;background:#0b5b38;border-radius:16px;justify-content:space-between;gap:24px;min-width:min(390px,100%);padding:20px 22px;text-decoration:none;box-shadow:0 16px 36px #0b5b3833}.landingClosingAction>span{display:grid}.landingClosingAction small{color:#ffffff9e;font-size:10px}.landingClosingAction strong{font-size:15px}.landingClosingAction>.lucide{width:20px;height:20px}.landingFooter{color:#718177;border-top:1px solid #d6e4da;justify-content:space-between;align-items:center;gap:24px;width:min(1320px,100%);min-height:74px;margin:0 auto;font-size:11px;font-weight:700;display:flex}@keyframes landingSweep{to{transform:rotate(360deg)}}@media (max-width:980px){.landingHero{grid-template-columns:1fr;padding-top:58px}.landingHeroCopy{max-width:800px}.landingDataPanel{width:min(620px,100%)}.landingWorkspaceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.landingClosing{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.landingPage{padding:0 16px}.landingBackdrop{height:980px}.landingHeader{min-height:78px}.landingBrand small,.landingCenterName{display:none}.landingHeaderLink{min-height:38px;padding:8px 12px}.landingHero{gap:48px;min-height:0;padding:54px 0 72px}.landingHero h1{font-size:clamp(40px,12.5vw,58px)}.landingLead{font-size:16px}.landingTrustLine{align-items:flex-start}.landingDataPanel{padding:15px}.landingRadar{width:68%}.landingPurpose{padding:72px 0}.landingWorkspaceGrid{grid-template-columns:1fr}.landingWorkspaceCard{min-height:280px}.landingClosing{border-radius:20px;margin-bottom:30px;padding:28px 22px}.landingClosingAction{width:100%;min-width:0}.landingFooter{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:22px 0}}@media (prefers-reduced-motion:reduce){.landingRadarSweep{animation:none}.landingWorkspaceCard,.landingHeaderLink{transition:none}}.headerActions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.navLink{background:var(--accent);color:#fff;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:10px 18px;font-size:14px;font-weight:800;text-decoration:none;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex;box-shadow:0 10px 20px #15803d2e}.lucide{stroke-width:2.2px;flex-shrink:0;width:1em;height:1em}.navLink .lucide,.tabButton .lucide,button .lucide{width:17px;height:17px}.iconBadge{border:1px solid var(--border);border-radius:var(--radius);width:38px;height:38px;color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff;flex-shrink:0;place-items:center;display:inline-grid}.iconBadge .lucide{width:19px;height:19px}.headerImageBadge{width:54px;height:54px;overflow:hidden}.headerHomeLink{border-radius:var(--radius);flex:none;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.headerHomeLink:hover{transform:translateY(-1px)}.headerHomeLink:focus-visible{outline:3px solid var(--accent-glow);outline-offset:3px}.headerImage{object-fit:contain;width:42px;height:42px}.titleRow{align-items:flex-start;gap:12px;min-width:0;display:flex}.titleText{min-width:0}.moduleHeader{margin-bottom:22px}.moduleHeaderCore{border-bottom:1px dashed var(--border);padding-bottom:18px}.moduleHeader .tabsContainer{margin-bottom:0}.moduleBreadcrumb{margin-top:12px}.moduleBreadcrumb ol{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.moduleBreadcrumb li{color:var(--muted);align-items:center;gap:6px;font-size:15px;font-weight:750;display:inline-flex}.moduleBreadcrumb a{color:var(--accent-strong);text-decoration:none}.moduleBreadcrumb a:hover{text-decoration:underline}.moduleBreadcrumb .lucide{width:14px;height:14px;color:var(--muted)}.inlineIconLabel{align-items:center;gap:7px;display:inline-flex}.metaLine{align-items:center;gap:8px;display:flex}.metaLine .lucide{color:var(--accent-strong)}.navLink:hover{background:var(--accent-strong);box-shadow:0 12px 24px #15803d38}.navLink:active{transform:translateY(1px)}.loading{width:100%;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:9px;padding:42px 0;font-size:17px;font-weight:700;display:inline-flex}.error{border-radius:var(--radius-sm);background:var(--error-bg);color:var(--error);border:1px solid #fecaca;align-items:center;gap:9px;margin:18px 0;padding:12px 14px;font-weight:800;display:flex}button{font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:12px 20px;font-size:15px;transition:background .15s,color .15s,transform .1s,box-shadow .15s;display:inline-flex}button:active:not(:disabled){transform:translateY(1px)scale(.99)}button:disabled{opacity:.52;cursor:not-allowed}.primary{background:var(--accent);color:#fff;padding:14px 24px;font-size:15px;box-shadow:0 10px 20px #15803d2e}.primary:not(:disabled):hover{background:var(--accent-strong);box-shadow:0 12px 24px #15803d3d}.loginMain{min-height:100vh}.loginPanel{width:min(420px,100%);padding:28px}.loginHeader{align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.loginForm{gap:14px;display:grid}.loginProviderForm{margin-bottom:18px}.loginProviderButton{background:var(--accent);color:#fff;width:100%;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:9px;font-size:15px;font-weight:800;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex;box-shadow:0 10px 20px #15803d2e}.loginProviderButton:hover{background:var(--accent-strong);box-shadow:0 12px 24px #15803d3d}.loginProviderButton:active{transform:translateY(1px)scale(.99)}.loginProviderButton .lucide{width:19px;height:19px}.loginDivider{color:var(--muted);align-items:center;gap:12px;margin:0 0 18px;font-size:12px;font-weight:700;display:flex}.loginDivider:before,.loginDivider:after{content:"";background:var(--border);flex:1;height:1px}.adminUsersMain{align-items:flex-start}.adminUserStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.adminUserStats article{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.adminUserStats .lucide{width:16px;color:var(--accent)}.adminUserStats strong{font-size:18px;line-height:1}.adminUserStats span{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:700}.adminUsersToolbar{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-tint);justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:10px;display:flex}.adminUsersToolbar .inputWithIcon{width:min(380px,100%)}.adminSearchInput{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:42px;color:var(--foreground);font:inherit;background:#fff;outline:none;padding:0 12px 0 40px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s}.adminSearchField .adminSearchInput::placeholder{color:var(--muted);opacity:1;font-size:13px;font-weight:400}.adminSearchInput:hover{border-color:var(--border-strong)}.adminSearchInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.adminFilterControls{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.adminAddonAddButton{white-space:nowrap;flex:none;height:42px;padding:0 16px}.adminFilterSelect{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:120px;height:42px;color:var(--foreground);font:inherit;background:#fff;outline:none;padding:0 30px 0 11px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s}.adminFilterSelect:hover{border-color:var(--border-strong)}.adminFilterSelect:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.adminUsersToolbar>span{border:1px solid var(--border);min-height:30px;color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;padding:0 9px;font-size:12px;display:inline-flex}.adminUsersTable th,.adminUsersTable td{vertical-align:middle}.adminUserActions{white-space:nowrap;align-items:center;gap:6px;display:flex}.adminLoginCount{font-variant-numeric:tabular-nums;text-align:center;font-weight:800}.adminActionButton{border-radius:var(--radius-sm);min-height:34px;font:inherit;background:#fff;border:1px solid;justify-content:center;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:800;line-height:1.2;display:inline-flex}.adminActionButton .lucide{width:16px;height:16px}.adminEditButton{border-color:var(--border-strong);color:var(--accent-strong)}.adminEditButton:hover{border-color:var(--accent);background:var(--accent-soft)}.adminDeleteButton{color:#b91c1c;border-color:#fecaca}.adminDeleteButton:hover{background:#fef2f2;border-color:#f87171}.adminUsersTable td:nth-child(2) strong,.adminUsersTable td:nth-child(2) small,.adminTwoLine strong,.adminTwoLine small{display:block}.adminTwoLine small,.adminUsersTable td:nth-child(2) small{max-width:250px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.adminRoleBadge,.adminStatusBadge{border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.adminRoleBadge{color:#4338ca;background:#eef2ff}.adminRole-admin{color:#92400e;background:#fef3c7}.adminStatusBadge .lucide{width:13px;height:13px}.adminStatusActive{color:#166534;background:#dcfce7}.adminStatusInactive{color:#991b1b;background:#fee2e2}.adminUserModal{width:min(560px,100vw - 28px)}.adminUserForm{gap:16px;display:grid}.adminUserForm label:not(.adminActiveToggle){color:var(--muted-strong);gap:7px;font-size:13px;font-weight:800;display:grid}.adminUserForm select,.adminUserForm textarea,.adminUserForm input[type=text],.adminUserForm input[type=url]{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--foreground);font:inherit;background:#fff;outline:none;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.adminUserForm input[type=text],.adminUserForm input[type=url]{height:44px}.adminUserForm textarea{resize:vertical;min-height:72px;line-height:1.5}.adminUserForm select:hover,.adminUserForm textarea:hover,.adminUserForm input[type=text]:hover,.adminUserForm input[type=url]:hover{border-color:var(--border-strong)}.adminUserForm select:focus,.adminUserForm textarea:focus,.adminUserForm input[type=text]:focus,.adminUserForm input[type=url]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.adminUserForm input::placeholder,.adminUserForm textarea::placeholder{color:var(--muted)}.adminActiveToggle{border-radius:var(--radius-sm);background:var(--panel-soft);align-items:center;gap:9px;padding:12px;font-size:13px;font-weight:800;display:flex}.adminActiveToggle input{width:18px;height:18px;accent-color:var(--accent)}@media (max-width:720px){.adminUserStats{grid-template-columns:1fr}.adminUsersToolbar{flex-direction:column;align-items:stretch}.adminFilterControls{flex-wrap:wrap}.adminSearchField{flex:1 0 100%}.adminUsersToolbar>span{text-align:right}}.loginForm label{color:var(--muted-strong);gap:7px;font-size:13px;font-weight:800;display:grid}.loginForm input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--foreground);font:inherit;background:#fff;padding:10px 12px;font-size:15px}.loginForm input:focus{outline:3px solid var(--accent-glow);border-color:var(--accent)}.loginForm .primary{width:100%;margin-top:4px}.loginDashboardLink{border:1px solid var(--border-strong);width:100%;min-height:44px;color:var(--accent-strong);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:7px;font-size:15px;font-weight:800;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.loginDashboardLink:hover{border-color:var(--accent);background:var(--accent-soft)}.loginDashboardLink:active{transform:translateY(1px)scale(.99)}.loginDashboardLink .lucide{width:17px;height:17px}.secondary{border:1px solid var(--border-strong);color:var(--foreground);background:#fff}.secondary:not(:disabled):hover{background:var(--panel-soft)}.filterGrid{grid-template-columns:minmax(220px,1fr) minmax(180px,240px);gap:14px;margin:24px 0 0;display:grid}.field{gap:7px;display:grid}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.filterGrid .field>span,.filterGrid .field>label{display:none}.field span,.field label{color:var(--muted-strong);align-items:center;gap:7px;font-size:13px;font-weight:800;display:inline-flex}.field span .lucide,.field label .lucide{color:var(--accent-strong)}.inputWithIcon{position:relative}.inputWithIcon .lucide{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.inputWithIcon input{padding-left:40px!important}.inputWithIcon .inputClearBtn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.inputWithIcon .inputClearBtn:hover{color:var(--foreground);background:#0f172a14}.inputWithIcon .inputClearBtn .lucide{position:static;left:auto;transform:none}.field select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--foreground);font:inherit;background:#fff;outline:none;padding:0 12px;font-size:15px;font-weight:650;transition:border-color .15s,box-shadow .15s,background .15s}.field select:hover{border-color:#a8c6b1}.field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.field select:disabled{color:var(--muted);background:#f3f7f4}.hospitalFilter{position:relative}.hospitalFilterInput{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--foreground);font:inherit;background:#fff;outline:none;padding:0 12px;font-size:15px;font-weight:650;transition:border-color .15s,box-shadow .15s,background .15s}.hospitalFilterInput:hover{border-color:#a8c6b1}.hospitalFilterInput:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.hospitalFilterInput:disabled{color:var(--muted);background:#f3f7f4}.hospitalFilterOptions{z-index:20;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;max-height:260px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 14px 28px #0f172a29}.hospitalFilterOptions button{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--foreground);cursor:pointer;font:inherit;text-align:left;background:0 0;padding:10px 12px;font-size:14px;display:block}.hospitalFilterOptions button:hover,.hospitalFilterOptions button[aria-selected=true]{background:var(--panel-soft)}.hospitalFilterOptions button.hospitalFilterOptionActive{color:#fff;background:#0b6b45;font-weight:800;box-shadow:inset 4px 0 #facc15}.hospitalFilterOptions p{color:var(--muted-strong);margin:0;padding:11px 12px;font-size:13px}.fieldInput::placeholder{color:#2f6fed;opacity:1;font-size:12px;font-weight:700}.reportSearchInput{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--foreground);font:inherit;background:#fff;outline:none;padding:0 12px;font-size:15px;font-weight:650;transition:border-color .15s,box-shadow .15s,background .15s}.reportSearchInput:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.statGrid{grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0;display:grid}.statGridCompact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px;display:none}.statCard{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg, #f8fcf9f2, #fffffff2), var(--panel);text-align:left;min-width:0;box-shadow:var(--shadow-sm);gap:8px;padding:18px 16px;display:grid}.statCardHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.statIcon{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-tint);width:30px;height:30px;color:var(--accent-strong);flex-shrink:0;place-items:center;display:grid}.statIcon .lucide{width:16px;height:16px}.statValue{color:var(--accent-strong);font-variant-numeric:tabular-nums;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;font-size:34px;font-weight:900;line-height:1.08;overflow:hidden}.statLabel{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.qualityCheckList{margin:16px 0 20px;padding-left:28px;list-style:decimal}.qualityCheckList li{padding:4px 0;display:list-item}.qualityCheckList li::marker{color:var(--muted);font-weight:700}.qualityCheckList a{color:var(--accent-strong);font-weight:600;text-decoration:none}.qualityCheckList a:hover{text-decoration:underline}.dupMetaRow{justify-content:space-between;align-items:center;gap:12px;display:flex}.dupCountLabel{color:var(--foreground);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-weight:800;display:inline-flex}.dupMetaRow>span:only-child{color:var(--foreground);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-weight:800}.personDupTable tbody tr+tr td{border-top:2px solid var(--border-strong)}.personDupTable tbody td{vertical-align:top;font-size:12px}.dupLine{display:block}.dupLatest{text-underline-offset:2px;-webkit-text-decoration:underline #dc2626;text-decoration:underline #dc2626;text-decoration-thickness:1px}.dupLine+.dupLine{border-top:1px dashed var(--border);margin-top:4px;padding-top:4px}.personTargetStatGrid{grid-template-columns:repeat(5,minmax(0,1fr));margin:16px 0 20px}.personTargetToolbar,.personTargetMeta{justify-content:space-between;align-items:center;gap:12px;display:flex}.personTargetSearch{width:min(100%,440px)}.personTargetRefresh{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:44px;color:var(--accent-strong);font:inherit;cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-weight:800;display:inline-flex}.personTargetRefresh:hover:not(:disabled){border-color:var(--accent);background:var(--panel-tint)}.personTargetRefresh:disabled{cursor:wait;opacity:.65}.personTargetRefresh .lucide{width:17px;height:17px}.personTargetSpin{animation:.8s linear infinite personTargetSpin}@keyframes personTargetSpin{to{transform:rotate(360deg)}}.personTargetMeta{color:var(--muted-strong);margin:14px 0 10px;font-size:13px;font-weight:750}.personTargetMeta span{align-items:center;gap:7px;display:inline-flex}.personTargetMeta .lucide{width:16px;height:16px;color:var(--accent-strong)}.personTargetTableWrap{max-height:none;overflow:auto}.personTargetTable th,.personTargetTable td{white-space:nowrap}.personTargetRank{width:52px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}.type1Header{color:#1d4ed8!important;background:#e3edfd!important}.type1Cell{color:#1d4ed8;background:#eff5fe;font-weight:850}.type3Header{color:#b45309!important;background:#fdf0dc!important}.type3Cell{color:#b45309;background:#fef7ea;font-weight:850}.targetPopulationHeader{color:#166534!important;background:#e5f5e8!important}.targetPopulationCell{color:#166534;background:#f0faef;font-weight:900}.errorMsgCard{border-radius:var(--radius-lg);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;align-items:flex-start;gap:14px;max-width:520px;margin:24px auto;padding:22px 24px;display:flex}.errorMsgCard .lucide{color:#dc2626;flex-shrink:0;width:28px;height:28px}.errorMsgCard strong{font-size:16px;font-weight:900;display:block}.errorMsgCard p{white-space:pre-line;margin:6px 0 12px;font-size:19px;font-weight:600}.errorMsgAction{color:#fff;background:#dc2626;border-radius:999px;padding:7px 16px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.errorMsgAction:hover{background:#b91c1c}.exportCol{text-align:center;width:64px}.exportXlsxLink{color:#166534;justify-content:center;align-items:center;transition:color .18s,transform .18s;display:inline-flex}.exportXlsxLink:hover{color:#15803d;transform:scale(1.15)}.exportXlsxLink .lucide{width:20px;height:20px}.personTargetTotal{color:var(--accent-strong);font-weight:850}.standardPanel{max-width:100%}.moduleTopicList{margin:0;padding:0;list-style:none}.moduleTopicList li+li{border-top:1px dashed var(--border)}.moduleTopicLink{color:inherit;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 4px;text-decoration:none;transition:color .18s,background .18s;display:grid}.moduleTopicLink:hover{color:var(--accent-strong);background:linear-gradient(90deg, var(--accent-glow), transparent 65%)}.moduleTopicBullet{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 4px var(--accent-glow);border-radius:999px;flex:none;align-self:start;margin-top:7px}.moduleTopicText{color:#174c2e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:400;line-height:1.3;overflow:hidden}.standardMenuArrow{color:#4d9c65;width:20px;height:20px}.pyramidToolbar{justify-content:space-between;align-items:end;gap:14px;margin:20px 0 0;display:flex}.pyramidSelect{width:min(100%,480px)}.rapidSummaryLine{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 4px;font-size:13px;display:flex}.rapidSummaryLine span{border:1px solid var(--border);background:var(--surface,#f8faf8);color:var(--muted);border-radius:6px;align-items:center;gap:6px;padding:5px 12px;display:inline-flex}.rapidSummaryLine .lucide{width:15px;height:15px;color:var(--muted)}.rapidSummaryLine strong{color:var(--text);font-size:15px}.rapidSummaryLine .rapidSourceLabel{color:var(--muted);background:0 0;border:0;margin-left:auto;font-size:12px;font-weight:700}.rapidSummaryLine .rapidSourceLabel .lucide{color:var(--accent-strong)}.rapidToolbar{justify-content:space-between;align-items:center;gap:14px;margin:4px 0 14px;display:flex}.rapidHdcReportMeta{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:10px 0 8px;font-size:12px;display:flex}.rapidHdcReportMeta span{gap:5px;display:inline-flex}.rapidHdcReportMeta code{color:var(--text);font-size:inherit;overflow-wrap:anywhere}.ncdWorkloadPanel{overflow:hidden}.ncdWorkloadHero{display:contents}.ncdWorkloadHero>:first-child,.ncdSummaryGrid{display:none}.ncdEyebrow,.ncdMetricCard,.ncdTrendTitle,.ncdLegend,.ncdTabBar button{align-items:center;display:inline-flex}.ncdEyebrow{color:#0d7655;letter-spacing:.1em;gap:7px;font-size:11px;font-weight:850}.ncdWorkloadHero h1{color:#154538;margin:7px 0 5px;font-size:clamp(21px,3vw,29px);line-height:1.2}.ncdWorkloadHero p{color:#547064;margin:0;font-size:13px}.ncdFilterBar{flex-wrap:wrap;gap:10px;display:flex}.ncdWorkloadFilters{grid-template-columns:minmax(150px,200px) minmax(180px,240px) minmax(260px,1fr);margin:18px 0}.qualityFilters{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.ncdFilterBar .field{min-width:152px}.ncdFilterBar .field:last-child{min-width:230px}.ncdFilterBar .field span{color:#547064;margin:0 0 4px 2px;font-size:11px;font-weight:750;display:block}.ncdFilterBar select{color:#173c31;width:100%;min-height:38px;font:inherit;background:#fff;border:1px solid #b6d9c8;border-radius:9px;padding:0 28px 0 10px;font-size:13px}.ncdSummaryGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:none}.ncdMetricCard{background:#fff;border:1px solid #e0eae5;border-radius:13px;gap:10px;min-height:78px;padding:15px 17px;position:relative;overflow:hidden}.ncdMetricCard:after{content:"";opacity:.55;border-radius:50%;width:82px;height:82px;position:absolute;bottom:-26px;right:-17px}.ncdMetricCard svg{z-index:1;width:25px;height:25px}.ncdMetricCard span{z-index:1;color:var(--muted);font-size:12px;font-weight:700}.ncdMetricCard strong{z-index:1;color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;font-size:24px}.ncdMetricCard.dm svg{color:#0b8a67}.ncdMetricCard.dm:after{background:#b8ead9}.ncdMetricCard.ht svg{color:#c15342}.ncdMetricCard.ht:after{background:#f8d1ca}.ncdMetricCard.total svg{color:#4f6fc4}.ncdMetricCard.total:after{background:#d6e1fb}.ncdTabBar{border-bottom:1px solid #dce7e1;gap:2px;margin:0 0 12px;display:flex}.ncdTabBar button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;gap:7px;margin-bottom:-1px;padding:10px 14px;font-size:13px;font-weight:760}.ncdTabBar button.active{color:#086148;border-bottom-color:#0b8a67}.ncdTabBar button:hover{color:#086148}.ncdTabBar svg{width:16px;height:16px}.ncdWorkloadTableWrap{margin-top:0}.workloadDatagridActions{justify-content:flex-end;margin:0 0 8px;display:flex}.excelExportButton{color:#166534;min-height:34px;font:inherit;white-space:nowrap;cursor:pointer;background:#f7fcf9;border:1px solid #b7dac8;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:750;line-height:1.2;text-decoration:none;transition:color .18s,background .18s,transform .18s;display:inline-flex}.excelExportButton:hover:not(:disabled){color:#15803d;background:#eef9f2;transform:translateY(-1px)}.excelExportButton:disabled{cursor:not-allowed;opacity:.55}.excelExportButton .lucide{width:18px;height:18px}.ncdWorkloadTable th{white-space:nowrap}.visitMonthlyWorkloadTable{table-layout:fixed;min-width:1120px}.visitMonthlyWorkloadTable th,.visitMonthlyWorkloadTable td{white-space:nowrap;padding:6px 4px;font-size:11px}.visitMonthlyWorkloadTable th:first-child,.visitMonthlyWorkloadTable td:first-child{width:190px;min-width:190px}.visitMonthlyWorkloadTable .numCol{text-align:center;width:42px;min-width:42px}.visitMonthlyWorkloadTable .visitMonthGroup{border-left:1px solid var(--border);text-align:center}.visitMonthlyWorkloadTable .visitMonthFirst{border-left:1px solid var(--border)}.ncdLegacyWorkloadTable,.ncdMonthlyWorkloadTable{display:none}.ncdScreenWorkloadTable{table-layout:fixed;min-width:960px;font-size:11px}.ncdScreenWorkloadTable.fileTable th{letter-spacing:.03em;padding:7px 6px;font-size:10px}.ncdScreenWorkloadTable.fileTable td{padding:7px 6px;font-size:14px}.ncdScreenWorkloadTable .numCol{text-align:center;width:60px;min-width:60px}.ncdScreenWorkloadTable th:first-child,.ncdScreenWorkloadTable td:first-child{width:210px;min-width:210px}.ncdMonthlyWorkloadTable{table-layout:fixed;min-width:1120px;font-size:11px}.ncdMonthlyWorkloadTable .ncdMonthGroup{text-align:center}.ncdMonthlyWorkloadTable.fileTable th{letter-spacing:.02em;padding:6px 4px;font-size:10px}.ncdMonthlyWorkloadTable.fileTable td{padding:6px 4px;font-size:11px}.ncdMonthlyWorkloadTable .numCol{width:39px;min-width:39px}.ncdMonthlyWorkloadTable th:first-child,.ncdMonthlyWorkloadTable td:first-child{width:180px;min-width:180px}.ncdMonthlyWorkloadTable .hospNameShort{margin-left:4px}.ncdWorkloadTable .ncdTableSummary th{color:var(--muted);border-bottom:0;padding-top:10px;padding-bottom:2px;font-size:12px}.ncdWorkloadTable .ncdTableSummary strong{color:#075e45;font-variant-numeric:tabular-nums;font-size:18px}.ncdTotalCell{color:#075e45;font-weight:850}.ncdTrendPanel{background:#fcfffd;border:1px solid #dbeae3;border-radius:14px;min-height:355px;padding:18px}.ncdTrendTitle{justify-content:space-between;gap:12px;margin-bottom:6px}.ncdTrendTitle>div{gap:2px;display:grid}.ncdTrendTitle span{color:var(--muted);font-size:12px}.ncdTrendTitle strong{color:#174537;font-size:16px}.ncdLegend{color:#176a55;gap:6px;font-size:12px;font-weight:700}.ncdLegend i{border-radius:99px;width:18px;height:3px}.ncdLegend i.dm{background:#0d73b8}.ncdLegend i.ht{background:#d65a42;margin-left:6px}.ncdTrendCanvas{width:100%;min-height:285px}.ncdTrendCanvas svg{width:100%;height:285px;overflow:visible}.ncdTrendGrid{stroke:#dfeae5;stroke-width:1px}.ncdTrendLine{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.ncdTrendLine.dm{stroke:#0d73b8}.ncdTrendLine.ht{stroke:#d65a42}.ncdTrendPoint{fill:#fff;stroke-width:3px}.ncdTrendPoint.dm{stroke:#0d73b8}.ncdTrendPoint.ht{stroke:#d65a42}.ncdTrendAxis{fill:#71837a;font-family:inherit;font-size:12px}@media (max-width:760px){.ncdWorkloadFilters,.qualityFilters{grid-template-columns:1fr;margin:14px 0}.ncdWorkloadHero{flex-direction:column;align-items:stretch;padding:17px}.ncdFilterBar .field,.ncdFilterBar .field:last-child{flex:100%;min-width:0}.ncdSummaryGrid{grid-template-columns:1fr;gap:8px}.ncdMetricCard{min-height:64px}.ncdMetricCard strong{font-size:21px}.ncdTrendPanel{padding:14px 8px}.ncdTrendTitle{flex-direction:column;align-items:start;padding:0 8px}.ncdTrendCanvas{overflow-x:auto}.ncdTrendCanvas svg{min-width:620px}}.rapidSelect{width:min(100%,320px)}.rapidTable .rapidGroupHeader{text-align:center}.rapidAffCol{white-space:nowrap;text-align:center;width:3rem;min-width:3rem;padding-left:6px;padding-right:6px}.rapidTable .numCol{min-width:5.5rem;padding-left:16px;padding-right:16px}.fileTable.rapidTable{width:auto}.fileTable.rapidTable th,.fileTable.rapidTable td{white-space:nowrap}.tableWrap.rapidTableWrap{max-height:none;overflow:auto}.sortHeader{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;display:inline-flex}.numCol .sortHeader{flex-direction:row-reverse}.sortHeader .lucide{width:13px;height:13px}.sortHeaderIdle{opacity:.25}.sortHeaderActive{color:var(--accent-strong,#166534)}.deficitDownload{font:inherit;color:#166534;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.deficitDownload:hover{text-decoration:underline}.deficitDownload .lucide{opacity:.7;width:13px;height:13px}.pyramidStatGrid{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0 20px}.pyramidChart{border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(#fbfefb,#fff);gap:7px;padding:20px;display:grid}.pyramidLegend,.pyramidRow{grid-template-columns:minmax(80px,1fr) 66px minmax(80px,1fr);align-items:center;gap:10px;display:grid}.pyramidLegend{color:var(--muted);text-align:center;padding:0 0 8px;font-size:12px;font-weight:900}.pyramidMaleLegend{color:#2f6fed;text-align:right}.pyramidFemaleLegend{color:#bf4f82;text-align:left}.pyramidBarSide{align-items:center;height:24px;display:flex}.pyramidMaleSide{justify-content:flex-end}.pyramidMaleSide span,.pyramidFemaleSide span{border-radius:5px;min-width:2px;height:100%;display:block}.pyramidMaleSide span{background:linear-gradient(90deg,#9ec5fb,#2f6fed)}.pyramidFemaleSide span{background:linear-gradient(90deg,#d9719c,#f3b7cc)}.pyramidAge{color:var(--foreground);font-family:var(--font-space-grotesk), sans-serif;font-variant-numeric:tabular-nums;text-align:center;font-size:13px;font-weight:800}.pyramidEmpty{text-align:center;padding:34px}@media (max-width:760px){.personTargetToolbar,.personTargetMeta{flex-direction:column;align-items:stretch}.personTargetSearch,.personTargetRefresh{width:100%}.pyramidStatGrid{grid-template-columns:1fr}.pyramidToolbar{flex-direction:column;align-items:stretch}.pyramidSelect,.pyramidToolbar .personTargetRefresh{width:100%}}.tableMeta{color:var(--muted-strong);margin:18px 0 10px;font-size:14px;font-weight:800}.tableWrap{border:1px solid var(--border);border-radius:var(--radius);min-width:0;max-height:none;box-shadow:var(--shadow-sm);background:#fff;overflow:auto visible}.monthlyTableWrap{max-height:none;overflow:auto}.fileTable{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.fileTable th{z-index:2;border-bottom:1px solid var(--border);color:var(--accent-strong);letter-spacing:.07em;text-align:left;text-transform:uppercase;background:#f3faf5;padding:11px 16px;font-size:12px;font-weight:900;position:sticky;top:0}.fileTable td{color:var(--foreground);background:#fff;border-bottom:1px solid #edf4ef;padding:10px 16px;font-weight:400}.logImportTable{font-size:12px}.logImportTable th{font-size:10px}.logImportTable th:first-child,.logImportTable td:first-child{padding-right:8px}.logImportTable .logImportFileCell{white-space:nowrap;word-break:normal;min-width:320px;padding-left:8px}.logImportTable .logImportFileCell .tableCellIcon{white-space:nowrap}.logImportTable .importStatusBadge{font-size:11px}.logImportStatusTabs{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8fcf9;gap:4px;margin:12px 0 10px;padding:4px;display:inline-flex}.logImportStatusTab{border-radius:var(--radius-sm);min-width:156px;color:var(--muted-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 14px;font-size:13px;font-weight:850}.logImportStatusTab:hover{color:var(--foreground);background:#15803d0f}.logImportStatusTabActive{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.fileTable tbody tr:hover td{background:#fbfefc}.fileTable tbody tr:last-child td{border-bottom:0}.monthlyTable th:first-child,.monthlyTable td:first-child{z-index:1;box-shadow:1px 0 0 var(--border);background:#fff;position:sticky;left:0}.monthlyTable th:first-child{z-index:3;background:#f3faf5}.fileTable .emptyRow td{color:var(--muted);opacity:.65}.updateLogIssue{white-space:pre-line}.numCol{text-align:right;font-variant-numeric:tabular-nums;width:100px}.monthCol{min-width:76px}.totalCol{min-width:86px;color:var(--accent-strong)}.clickableMonthCol{cursor:pointer;color:var(--accent)}.clickableMonthCol:hover{background:var(--accent-soft);text-decoration:underline}.hospNameShort{color:var(--muted);white-space:nowrap;margin-left:8px;font-size:.85em}.rapidHospName{white-space:nowrap;display:inline}.tableCellIcon{align-items:center;gap:8px;min-width:0;display:inline-flex}.tableCellIcon .lucide{width:16px;height:16px;color:var(--accent-strong)}.reportGridHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.reportCreateButton{min-height:38px;padding:8px 14px;font-size:13px}.reportCreateButton .lucide{color:currentColor}.primaryBlue{color:#fff;background:#2563eb;box-shadow:0 8px 16px #2563eb2e}.primaryBlue:hover:not(:disabled){background:#1d4ed8;box-shadow:0 10px 20px #2563eb38}.reportNameButton{max-width:100%;color:var(--accent-strong);text-align:left;white-space:normal;background:0 0;border-radius:0;justify-content:flex-start;align-items:center;gap:8px;padding:0;font-size:14px;line-height:1.45;display:inline-flex}.reportNameButton:hover:not(:disabled){color:var(--foreground);text-underline-offset:3px;text-decoration:underline}.reportEditButton{border:1px solid var(--border-strong);border-radius:var(--radius-sm);max-width:100%;min-height:34px;color:var(--accent-strong);white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:8px;padding:7px 12px;font-size:13px;line-height:1.45;display:inline-flex}.reportEditButton:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.reportEditButton .lucide{flex-shrink:0;width:16px;height:16px}.reportEditModal{width:min(760px,100%)}.reportEditForm{gap:14px;display:grid}.reportEditField{gap:7px;display:grid}.reportEditField span{color:var(--muted-strong);font-size:13px;font-weight:900}.reportEditInput,.reportSqlInput{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--foreground);font:inherit;background:#fff;outline:none;font-size:14px;font-weight:650;transition:border-color .15s,box-shadow .15s}.reportEditInput{min-height:42px;padding:0 12px}.reportSqlInput{resize:vertical;min-height:220px;padding:12px;font-family:SF Mono,Fira Code,Consolas,monospace;line-height:1.55}.reportEditInput:focus,.reportSqlInput:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.reportModalBackdrop{z-index:50;background:#0f172a6b;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.reportModal{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;gap:14px;width:min(1080px,100%);max-height:min(760px,100vh - 44px);padding:20px;display:grid;overflow:hidden;box-shadow:0 22px 70px #0f172a3d}.reportModalHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.reportModalActions{flex-shrink:0;align-items:center;gap:8px;display:flex}.reportModalActions button{border-radius:var(--radius-sm);min-height:36px;padding:8px 14px;font-size:13px}.reportModalPrimaryActions{align-items:center;gap:8px;margin-left:auto;display:flex}.reportExportButton{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--accent);color:#fff;min-height:36px;padding:8px 14px;font-size:13px;box-shadow:0 8px 16px #15803d29}.reportExportButton:hover:not(:disabled){background:var(--accent-strong)}.reportDeleteButton{border-radius:var(--radius-sm);color:#fff;background:#dc2626;border:1px solid #fecaca;min-height:36px;padding:8px 14px;font-size:13px;box-shadow:0 8px 16px #dc262629}.reportDeleteButton:hover:not(:disabled){background:#b91c1c}.reportModalHeader h2{color:var(--foreground);margin:0 0 4px;font-size:22px;line-height:1.25}.reportModalClose{border:1px solid var(--border);width:36px;height:36px;color:var(--muted-strong);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.reportModalClose:hover:not(:disabled){background:var(--panel-soft);color:var(--foreground)}.tableCountButton{background:var(--accent-glow);min-width:62px;color:var(--accent-strong);font:inherit;cursor:pointer;border:0;border-radius:7px;padding:5px 10px;font-weight:700}.tableCountButton:hover{background:var(--accent);color:#fff}.serviceInstypeErrorTable{table-layout:auto;width:max-content;min-width:620px}.serviceInstypeErrorTable .serviceInstypeAffiliationCol{width:150px}.serviceInstypeErrorTable .serviceInstypeCountCol{width:112px}.serviceInstypeErrorTable .serviceInstypeActionCol,.serviceInstypeErrorTable .exportCol{text-align:center;width:150px;min-width:150px;padding-inline:10px}.specialppErrorTable{table-layout:auto;width:max-content;min-width:720px}.specialppErrorTable .specialppAffiliationCol{width:150px}.specialppErrorTable .specialppYearCol{width:80px}.specialppErrorTable .specialppCountCol{width:130px}.specialppErrorTable .specialppActionCol,.specialppErrorTable .exportCol{text-align:center;width:150px;min-width:150px;padding-inline:10px}.dataSourceLabel{color:var(--muted-strong);grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:7px;margin:14px 0 8px;font-size:13px;line-height:1.45;display:grid}.dataSourceLabel .lucide{width:16px;height:16px;color:var(--accent-strong);flex:none;margin-top:1px}.processedAt{white-space:nowrap;grid-column:3;margin-left:18px}.reportResultWrap{max-height:560px;overflow:auto}.reportResultWrap .fileTable,.reportResultWrap .fileTable th,.reportResultWrap .fileTable td{font-size:13px}.reportResultWrap .fileTable{min-width:720px}.reportLimitNotice{border-radius:var(--radius-sm);background:var(--warning-soft);color:#9a3412;border:1px solid #fed7aa;padding:10px 12px;font-size:13px;font-weight:800}.emptyCell{text-align:center;font-weight:700;color:var(--muted)!important;padding:30px 16px!important}.emptyState{justify-content:center;align-items:center;gap:8px;display:inline-flex}.emptyState .lucide{width:17px;height:17px}.dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dotGreen{background:var(--accent)}.dotGray{background:#cdd8d0}.statusCell{align-items:center;gap:7px;font-weight:800;display:inline-flex}.statusCell .lucide{width:16px;height:16px}.statusOk{color:var(--accent-strong)}.statusMuted{color:var(--muted-strong)}.uploadMain{place-items:start center}.uploadPanel{width:min(var(--app-content-width), 100%);gap:10px;min-height:min(620px,100vh - 64px);padding:20px;display:grid}.uploader{border-top:1px solid var(--border);gap:18px;margin-top:26px;padding-top:22px;display:grid}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;cursor:pointer;background:linear-gradient(#f8fcf9eb,#ffffffeb),#fff;padding:34px 24px;transition:border-color .2s,background .2s,box-shadow .2s,transform .15s;position:relative}.dropzone:hover,.dropzone:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow);background:#fbfefc;transform:translateY(-1px)}.dropzoneOver{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 6px var(--accent-glow);border-style:solid}.dropzoneHasFile{border-style:solid;border-color:var(--accent);background:var(--success-bg)}.dropzoneError{border-color:var(--error);background:var(--error-bg)}.fileInput{cursor:pointer;opacity:0;position:absolute;inset:0}.dropzoneInner{justify-items:center;gap:8px;display:grid}.dropIcon{border:1px solid var(--border);width:50px;height:50px;box-shadow:var(--shadow-sm);color:var(--accent-strong);background:#fff;border-radius:14px;place-items:center;display:grid}.dropIcon .lucide{width:26px;height:26px}.dropText{color:var(--foreground);font-size:16px;font-weight:800}.dropHint{color:var(--muted);font-size:13px;font-weight:650}.actionRow{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.statusMsg{color:var(--foreground);font-size:14px;font-weight:800}.statusError{color:var(--error)}.statusSuccess{color:var(--accent-strong)}.importStatusBadge{border-radius:var(--radius-sm);min-height:26px;color:var(--muted-strong);background:#eef3f8;align-items:center;padding:0 10px;font-size:13px;font-weight:850;display:inline-flex}.importStatusBadge.isComplete{color:#176c3a;background:#e5f6ec}.importStatusBadge.isPending{background:var(--warning-soft);color:#805400}.importStatusBadge.isProcessing{color:#24803f;background:#f0faef;animation:1s infinite pulse}.importStatusBadge.isNotComplete{background:var(--error-soft);color:var(--error)}.importStatusBadge.isWarning{background:var(--warning-soft);color:#92510a}.importStatusBadge.isWarning svg{width:13px;height:13px;margin-left:3px}.importStatusBadge.isClickable{cursor:pointer;font:inherit;border:0}.importStatusBadge.isClickable:hover,.importStatusBadge.isClickable:focus-visible{outline:none;box-shadow:0 0 0 3px #d2354524}.importStatusBadge.isWarning.isClickable:hover,.importStatusBadge.isWarning.isClickable:focus-visible{box-shadow:0 0 0 3px #92510a29}.notCompleteMessageRow.isWarningRow td{background:var(--warning-soft)}.notCompleteMessageRow.isWarningRow .notCompleteMessage{color:#92510a}.notCompleteMessageRow td{background:#fff7f7;border-top:0}.notCompleteMessage{color:var(--error);white-space:pre-wrap;word-break:break-word;font-size:13px;font-weight:750;line-height:1.5}.fileList{gap:10px;max-height:480px;display:grid;overflow-y:auto}.fileCard{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:13px 14px;box-shadow:0 8px 18px #1720330a}.fileCardHeader{align-items:center;gap:10px;display:flex}.fileCardIcon{border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;font-size:11px;font-weight:900;display:grid}.fileCardIcon.statusDone{background:var(--accent);color:#fff}.fileCardIcon.statusError{background:var(--error);color:#fff}.fileCardIcon.statusActive{background:var(--warning);color:#fff;animation:1s infinite pulse}.fileCardIcon.statusIdle{color:var(--muted-strong);background:#e9f2ec}.fileCardIcon .lucide{stroke-width:3px;width:13px;height:13px}.fileCardName{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:800;overflow:hidden}.removeBtn{width:26px;height:26px;color:var(--muted);background:0 0;border-radius:50%;place-items:center;padding:0;line-height:1;display:grid}.removeBtn:hover:not(:disabled){color:var(--error);background:#fee2e2}.removeBtn:disabled{opacity:.3;cursor:not-allowed}.miniProgress{align-items:center;gap:8px;margin-top:9px;display:flex}.meter{background:#e8f1eb;border-radius:999px;height:10px;position:relative;overflow:hidden}.meter span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #22c55e);height:100%;transition:width .2s;display:block}.miniProgress .meter{flex:1;height:7px}.miniPercent{width:38px;color:var(--accent-strong);font-variant-numeric:tabular-nums;text-align:right;font-size:12px;font-weight:900}.importRow{margin-top:7px}.miniDone,.miniError,.miniIdle{font-size:12px;font-weight:800}.miniDone{color:var(--accent-strong)}.miniError{color:var(--error);margin-top:6px;display:block}.miniIdle{color:var(--muted)}.fileLog{margin-top:8px}.logSection{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.logToggle{width:100%;color:var(--muted-strong);background:#f6faf7;border-radius:0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:800;display:flex}.logToggle:hover{background:#eef7f0}.logToggle.mini{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f6faf7;padding:5px 10px;font-size:11px}.logToggle>span{align-items:center;gap:7px;display:inline-flex}.logCount{opacity:.65;font-size:11px;font-weight:500}.logBody{color:#d1fae5;white-space:pre-wrap;word-break:break-word;background:#111827;border-top:1px solid #ffffff14;max-height:240px;margin:0;padding:14px 16px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;line-height:1.65;overflow:auto}.logBody.mini{border-radius:var(--radius-sm);max-height:120px;padding:9px 12px;font-size:11px}.steps{justify-content:center;align-items:center;gap:0;padding:0 4px;display:flex}.step{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.step.pending{opacity:.4}.step.active .stepDot,.step.done .stepDot{background:var(--accent);color:#fff}.step.error .stepDot{background:var(--error);color:#fff}.stepDot{width:24px;height:24px;color:var(--muted);background:#e9f2ec;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:800;display:grid}.stepLabel{white-space:nowrap;font-weight:700}.stepLine{background:var(--border);border-radius:99px;width:32px;height:2px;margin:0 8px}.step.done+.stepLine,.step.done .stepLine{background:var(--accent)}.progressBlock{border:1px solid var(--border);border-radius:var(--radius);background:#fff;gap:10px;padding:16px;display:grid}.progressMain{justify-content:space-between;align-items:center;display:flex}.progressTitle{font-size:14px;font-weight:800}.progressPercent{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:24px;font-weight:900}.pagination{color:var(--muted-strong);justify-content:center;align-items:center;gap:16px;margin-top:16px;font-size:14px;font-weight:800;display:flex}.pagination button{border:1px solid var(--border-strong);color:var(--accent-strong);background:#fff;align-items:center;gap:7px;padding:8px 16px;font-size:14px;display:inline-flex}.pagination button:not(:disabled):hover{background:var(--accent-soft)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes botThinkingSpin{to{transform:rotate(360deg)}}@media (max-width:760px){.main{padding:18px}.panel,.dashboardPanel{padding:24px 20px}.headerRow{flex-direction:column;align-items:stretch}.headerActions{width:100%}.navLink{box-sizing:border-box;white-space:normal;text-align:center;overflow-wrap:anywhere;word-break:break-word;flex:auto;justify-content:center;width:auto;min-width:0;max-width:100%;overflow:hidden}.filterGrid,.statGrid{grid-template-columns:1fr}h1{font-size:30px}.lead{margin-bottom:18px}.dropzone{padding:28px 16px}.dropIcon{width:44px;height:44px;font-size:24px}.dropText{font-size:14px}.steps{gap:0}.stepLine{width:20px;margin:0 4px}.stepLabel{font-size:11px}.pagination{flex-wrap:wrap;gap:10px}.tabsContainer{width:100%;overflow-x:auto}.tabButton{white-space:nowrap;gap:6px;padding:7px 10px;font-size:12px}.tabButton .lucide{width:15px;height:15px}.titleRow{align-items:flex-start}.iconBadge{border-radius:var(--radius-sm);width:34px;height:34px}}@media (max-width:520px){.main{padding:12px}.panel,.dashboardPanel{border-radius:12px;padding:20px 16px}h1{font-size:27px}p{font-size:14px}.statValue{font-size:28px}.fileTable{font-size:13px}.fileTable th,.fileTable td{padding:9px 12px}.reportModalHeader{flex-direction:column}.reportModalActions{justify-content:space-between;width:100%}.reportExportButton{flex:1}}.tabsContainer{border:1px solid var(--border);border-radius:var(--radius-lg);background:#f8fcf9b3;gap:8px;margin:0 0 12px;padding:4px;display:flex}.tabButton.tabButtonEnd{margin-left:auto}.tabBadgeBlink{animation:1s ease-in-out infinite tabBadgeFade}@keyframes tabBadgeFade{0%,to{opacity:1}50%{opacity:.25}}.tabBadgeDanger{color:#fff;font-variant-numeric:tabular-nums;background:#ef2d2d;border-radius:999px;justify-content:center;align-items:center;min-width:18px;min-height:18px;padding:1px 5px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.tabButton{border-radius:var(--radius);color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:800;text-decoration:none;transition:color .15s,background .15s,box-shadow .15s;display:inline-flex}.tabButton:hover{color:var(--foreground);background:#15803d0d}.tabButtonActive{color:var(--accent-strong);box-shadow:var(--shadow-sm);background:#fff}.addonTabWrap{display:inline-flex;position:relative}.addonTabChevron{width:14px;height:14px}.addonMenu{z-index:40;border:1px solid var(--border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow-md,0 8px 24px #0f172a1f);background:#fff;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.addonMenuItem{border-radius:var(--radius);color:var(--foreground);align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.addonMenuItem .lucide{width:16px;height:16px;color:var(--muted)}.addonMenuItem:hover{color:var(--accent-strong);background:#15803d0d}.addonMenuEmpty{color:var(--muted);padding:8px 12px;font-size:13px}.addonMenuSeparator{background:var(--border);height:1px;margin:4px 6px}.pageHeaderTitle{color:var(--accent-strong);flex-wrap:wrap;align-items:center;margin:0 0 10px;font-size:24px;font-weight:800;line-height:1.2;display:flex}.pageHeaderTitle .headerSubline{flex-basis:100%;order:2;margin-top:2px}.pageHeaderTitle>.pageHeaderName,.pageHeaderTitle>.dbStatusLabel,.pageHeaderTitle>.visitCounterBadge{order:1}.pageHeaderTitle .headerSubline .versionLabel{margin-left:0}.versionLabel{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-strong);vertical-align:middle;background:#fff;align-items:center;margin-left:10px;padding:2px 7px;font-size:11px;font-weight:800;line-height:1.4;text-decoration:none;display:inline-flex}.versionLabel:hover{border-color:var(--accent);color:var(--accent-strong)}.versionLabel.versionLabelUpdate{color:#92510a;background:var(--warning-soft);border-color:#d9a300;transition:opacity .4s}.versionLabel.versionLabelUpdate:hover{color:#7a4300;border-color:#b98500}.dbStatusLabel{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-strong);vertical-align:middle;background:#fff;align-items:center;gap:4px;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:800;line-height:1.4;display:inline-flex}.dbStatusLabel svg{stroke-width:2.5px;width:12px;height:12px}.dbStatusLabel-online{color:#166534;background:#15803d17;border-color:#15803d57}.dbStatusLabel-checking{color:var(--muted);background:#64748b0f;border-color:#64748b38}.dbStatusLabel-error{color:#b91c1c;background:#dc262617;border-color:#dc26265c}.floatingUser{z-index:80;pointer-events:none;justify-items:end;gap:10px;display:grid;position:fixed;bottom:22px;right:22px}.floatingUser.floatingUserHeader{z-index:20;flex:none;display:block;position:relative;bottom:auto;right:auto}.floatingUserHeader .floatingUserButton{min-width:48px;height:42px;padding:3px}.floatingUserHeader .floatingUserChevron{display:none}.floatingUserHeader .floatingUserMenu{z-index:30;position:absolute;top:calc(100% + 10px);right:0}.floatingUserMenu,.floatingUserButton{pointer-events:auto}.visitCounterBadge{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);font-variant-numeric:tabular-nums;vertical-align:middle;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#fff;align-items:center;margin-left:6px;padding:2px 7px;font-size:11px;font-weight:400;line-height:1.4;display:inline-flex}.floatingUserButton{min-width:58px;height:48px;color:var(--accent-strong);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #c8d8cde6;border-radius:999px;align-items:center;gap:7px;padding:5px 8px 5px 6px;display:inline-flex;box-shadow:0 16px 36px #17203324}.floatingUserButton:hover{border-color:var(--accent);background:#fff;box-shadow:0 18px 42px #15803d2e}.floatingUserAvatar{color:#fff;background:#2563eb;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.floatingUserAvatarGuest{color:#2563eb;background:#eff6ff;border:1px solid #93c5fd}.floatingUserAvatar .lucide{stroke-width:1.5px;width:18px;height:18px}.floatingUserButtonInitial{font-size:15px;font-weight:900;line-height:1}.floatingUserChevron{width:15px;height:15px}.floatingUserMenu{border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;gap:8px;width:min(245px,100vw - 32px);padding:10px;display:grid;box-shadow:0 18px 48px #17203329}.floatingUserCard{border-bottom:1px solid var(--border);grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:6px 7px 9px;display:grid}.floatingUserMiniAvatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-strong);border-radius:50%;place-items:center;font-size:14px;font-weight:900;display:grid}.floatingUserMiniAvatarGuest{color:var(--muted-strong);background:#f1f5f9}.floatingUserCard strong,.floatingUserCard small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.floatingUserCard strong{color:var(--foreground);font-size:13px;font-weight:900;line-height:1.35}.floatingUserCard small{color:var(--muted);font-size:11px;font-weight:800}.floatingUserCard small.floatingUserRole{color:var(--muted-strong);white-space:normal;margin-top:2px;line-height:1.35}.floatingUserLinks{gap:3px;display:grid}.floatingUserLink,.floatingUserAction{border-radius:var(--radius-sm);width:100%;min-height:36px;color:var(--muted-strong);box-shadow:none;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:850;line-height:1.35;text-decoration:none;display:flex}.floatingUserLink .lucide,.floatingUserAction .lucide{width:16px;height:16px;color:var(--accent-strong)}.floatingUserLink:hover,.floatingUserAction:hover{background:var(--panel-tint);color:var(--foreground)}.floatingUserLinkActive{border-color:var(--border);background:var(--accent-soft);color:var(--accent-strong)}.floatingUserAction{border-color:var(--border);background:#fff}.chartsGrid{grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 24px;display:grid}@media (max-width:768px){.chartsGrid{grid-template-columns:1fr}}.chartCard{border:1px solid var(--border);border-radius:var(--radius-lg);min-height:320px;box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:relative}.chartTitle{width:100%;color:var(--accent-strong);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:900;display:flex}.chartTitle .lucide{width:17px;height:17px}.chartContainer{width:100%;height:260px;position:relative}.chatMain{place-items:start center}.chatPanel{gap:10px;min-height:min(620px,100vh - 64px);padding:20px;display:grid}.chatHeader{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding-bottom:8px}.chatHeader .titleRow{gap:8px}.chatHeader .iconBadge{border-radius:var(--radius-sm);width:32px;height:32px}.chatHeader .iconBadge .lucide{width:16px;height:16px}.chatHeader .eyebrow{margin-bottom:2px;font-size:10px}.chatHeader h1{letter-spacing:0;margin:0;font-size:24px}.chatHeader .navLink{min-height:34px;padding:7px 12px;font-size:13px}.chatBox{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;align-content:start;gap:8px;min-height:360px;max-height:calc(100vh - 235px);padding:10px;display:grid;overflow:auto}.chatMessage{grid-template-columns:26px minmax(0,1fr);align-items:start;gap:8px;display:grid}.chatMessage.user{grid-template-columns:minmax(0,1fr) 26px}.chatMessage.user .chatAvatar{grid-column:2}.chatMessage.user .chatBubble{background:var(--accent);color:#fff;grid-area:1/1;justify-self:end}.chatMessage.user .chatMarkdownParagraph,.chatMessage.user .chatMarkdownHeading,.chatMessage.user .chatMarkdownList,.chatMessage.user .chatBubble p{color:#fff}.chatAvatar{border:1px solid var(--border);width:26px;height:26px;color:var(--accent-strong);background:#fff;border-radius:7px;place-items:center;display:grid}.chatAvatar .lucide{width:14px;height:14px}.chatAvatarThinking .lucide{animation:1s linear infinite botThinkingSpin}.chatThinking{color:var(--muted);align-items:baseline;gap:1px;display:inline-flex}.chatThinkingDots span{transform-origin:bottom;font-weight:700;animation:1.2s ease-in-out infinite chatDotStretch;display:inline-block}.chatThinkingDots span:nth-child(2){animation-delay:.2s}.chatThinkingDots span:nth-child(3){animation-delay:.4s}@keyframes chatDotStretch{0%,to{opacity:.35;transform:scale(.6)}50%{opacity:1;transform:scale(1.5)}}.chatBubble{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:fit-content;max-width:min(1100px,100%);padding:8px 10px;box-shadow:0 4px 12px #17203309}.chatMessage.user .chatBubble{max-width:min(760px,100%)}.chatBubble p{color:var(--foreground);white-space:pre-wrap;font-size:14px;line-height:1.45}.chatMarkdown{gap:6px;min-width:0;display:grid}.chatMarkdownParagraph{color:var(--foreground);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.45}.chatMarkdownParagraph code,.chatMarkdownTable code{color:var(--accent-strong);background:#eef7f0;border-radius:5px;padding:1px 4px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.92em}.chatMessage.user .chatMarkdownParagraph code{color:#fff;background:#ffffff2e}.chatMarkdownHeading{color:var(--foreground);margin:2px 0 0;font-size:15px;font-weight:900;line-height:1.35}.chatMarkdownHeading.level2,.chatMarkdownHeading.level3{font-size:14px}.chatMarkdownList{color:var(--foreground);gap:3px;margin:0;padding-left:18px;font-size:14px;line-height:1.45;display:grid}.chatMarkdownList li{overflow-wrap:anywhere}.chatMarkdownTableWrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;max-width:100%;overflow-x:auto}.chatMarkdownTable{border-collapse:collapse;width:100%;min-width:360px;font-size:13px;line-height:1.35}.chatMarkdownTable th,.chatMarkdownTable td{color:var(--foreground);text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #edf4ef;padding:7px 9px}.chatMarkdownTable th{color:var(--accent-strong);background:#f3faf5;font-size:12px;font-weight:900}.chatMarkdownTable tbody tr:last-child td{border-bottom:0}.chatChart{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fbfefc;gap:7px;width:min(880px,100%);margin-top:8px;padding:9px;display:grid}.chatChartTitle{color:var(--accent-strong);font-size:12px;font-weight:900}.chatChartCanvas{width:100%;height:260px;position:relative}.chatChartCanvas canvas{width:100%;height:100%;display:block}.chatChartRows{gap:5px;display:grid}.chatChartRow{grid-template-columns:minmax(78px,140px) minmax(120px,1fr) minmax(48px,auto);align-items:center;gap:8px;min-width:0;display:grid}.chatChartLabel{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.chatChartTrack{background:#e8f1eb;border-radius:999px;height:12px;position:relative;overflow:hidden}.chatChartBar{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #22c55e);height:100%;display:block}.chatChartValue{color:var(--muted-strong);font-variant-numeric:tabular-nums;text-align:right;font-size:12px;font-weight:900}.chatExportList{gap:6px;margin-top:8px;display:grid}.chatExportLink{border:1px solid var(--border);border-radius:var(--radius-sm);width:min(420px,100%);color:var(--accent-strong);background:#f8fcf9;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 9px;font-size:13px;font-weight:900;text-decoration:none;display:grid}.chatExportLink:hover{border-color:var(--accent);background:var(--accent-soft)}.chatExportLink span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chatExportLink small{color:var(--muted-strong);white-space:nowrap;font-size:11px;font-weight:800}.chatModel{color:var(--muted);margin-top:5px;font-size:11px;font-weight:800;display:block}.chatToolList{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.chatToolButton{cursor:pointer;background:0 0;border:0;max-width:100%;padding:0;display:inline-flex}.chatToolButton:focus-visible .chatToolBadge{outline:2px solid var(--accent);outline-offset:2px}.chatToolBadge{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-tint);max-width:100%;min-height:20px;color:var(--accent-strong);align-items:center;padding:2px 7px;font-size:11px;font-weight:900;line-height:1.3;display:inline-flex}.chatToolBadgeError{background:var(--error-bg);color:var(--error);border-color:#fecaca}.chatToolModalBackdrop{z-index:100;background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.chatToolModal{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);width:min(760px,100%);max-height:min(82vh,680px);box-shadow:var(--shadow-lg);gap:12px;padding:14px;display:grid;overflow:hidden}.chatToolModalHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.chatToolModalHeader h2{color:var(--foreground);letter-spacing:0;margin:1px 0 0;font-size:17px;font-weight:900}.chatToolModalClose{border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--muted-strong);cursor:pointer;background:#fff;flex:none;place-items:center;display:inline-grid}.chatToolModalClose .lucide{width:16px;height:16px}.chatToolModalCode{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:56vh;color:var(--foreground);-webkit-user-select:text;user-select:text;background:#fff;margin:0;padding:12px;font-size:12px;line-height:1.5;overflow:auto}.chatToolModalCode code{white-space:pre-wrap;word-break:break-word}.chatToolModalCodeError{color:var(--error);border-color:#fecaca}.chatQuickQuestions{flex-wrap:wrap;gap:6px;display:flex}.chatQuickQuestion{border:1px solid var(--border-strong);max-width:100%;min-height:28px;color:var(--accent-strong);text-align:left;white-space:normal;overflow-wrap:anywhere;box-shadow:none;background:#fff;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:500;line-height:1.35}.chatQuickQuestion:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.chatComposer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.chatComposer textarea{resize:vertical;border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-height:52px;color:var(--foreground);font:inherit;background:#fff;outline:none;padding:9px 11px;font-size:14px;line-height:1.45;transition:border-color .15s,box-shadow .15s}.chatComposer .primary{border-radius:var(--radius-sm);min-height:52px;padding:0 16px;font-size:14px}.chatComposer textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}@media (max-width:760px){.floatingUser{bottom:14px;right:14px}.floatingUserButton{height:44px}.floatingUserAvatar{width:32px;height:32px}.uploadPanel,.chatPanel{min-height:calc(100vh - 36px);padding:16px}.chatBox{min-height:340px;max-height:none}.chatComposer{grid-template-columns:1fr}.chatBubble{max-width:100%}.chatMarkdownTable{min-width:320px}.chatChartRow{grid-template-columns:minmax(64px,100px) minmax(90px,1fr) auto;gap:6px}}.importingNotice{border-radius:var(--radius);background:var(--warning-soft);border:1px solid #f0c674;align-items:center;gap:14px;margin:18px 0;padding:20px 22px;display:flex}.importingNotice .importingSpinner{color:#b45309;flex-shrink:0;width:30px;height:30px;animation:1s linear infinite importingSpin}.importingTitle{color:#92510a;margin:0 0 4px;font-size:16px;font-weight:850}.importingText{color:#a16207;margin:0;font-size:14px}.transformDictToolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.transformDictSearch{width:min(460px,100%);margin:0}.transformDictRefresh{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:42px;color:var(--accent-strong);cursor:pointer;background:#fff;padding:9px 15px;font-weight:850}.transformDictRefresh:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.transformDictMeta{color:var(--muted-strong);justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:750}.transformDictGridWrap{max-height:min(68vh,680px)}.transformDictGrid{min-width:1180px}.transformDictGrid th,.transformDictGrid td{vertical-align:top}.transformDictGrid th{z-index:1;position:sticky;top:0}.transformDictIndex{color:var(--muted);font-variant-numeric:tabular-nums;text-align:center}.transformDictTableName{color:#166534;font-family:var(--font-space-grotesk), monospace;cursor:pointer;white-space:nowrap;background:#f5fbf6;border:1px solid #d8e9dc;border-radius:6px;align-items:center;padding:4px 7px;font-size:12px;font-weight:750;line-height:1.45;display:inline-flex}.transformDictTableName:hover{border-color:var(--accent);background:var(--accent-soft)}.transformDictSqlFile{color:var(--foreground);font-family:var(--font-space-grotesk), monospace;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:750;display:inline-flex}.transformDictSqlFile:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.transformDictSqlFile .lucide{width:15px;height:15px;color:var(--accent)}.transformDictTags{flex-wrap:wrap;gap:5px;min-width:150px;display:flex}.transformDictTags span{color:#3b5b9a;font-family:var(--font-space-grotesk), monospace;background:#f4f7ff;border:1px solid #d9e4ff;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:750}.transformDictDescription{min-width:300px;max-width:420px;color:var(--muted-strong);white-space:normal;line-height:1.55}.transformSchemaModalBackdrop{z-index:110;background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.transformSchemaModal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);width:min(700px,100%);box-shadow:var(--shadow);padding:22px}.transformSchemaModalHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.transformSchemaModalHeader .eyebrow{margin-bottom:4px;font-size:10px}.transformSchemaModalHeader h2{color:var(--foreground);font-family:var(--font-space-grotesk), monospace;margin:0;font-size:20px}.transformSchemaModalClose{border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--muted-strong);cursor:pointer;background:#fff;flex:none;place-items:center;padding:0;display:grid}.transformSchemaModalActions{align-items:center;gap:8px;display:flex}.transformSqlCopyButton{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-height:34px;color:var(--accent-strong);cursor:pointer;background:#fff;padding:6px 10px;font-size:12px;font-weight:850}.transformSqlCopyButton:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.transformSqlCopyButton:disabled{cursor:not-allowed;opacity:.55}.transformSqlCopyButton .lucide{width:15px;height:15px}.transformSchemaModalClose:hover{border-color:var(--accent);color:var(--accent-strong)}.transformSchemaModalClose .lucide{width:17px;height:17px}.transformSchemaModalContent{overflow-wrap:anywhere;border-radius:var(--radius-sm);color:#166534;font-family:var(--font-space-grotesk), monospace;white-space:pre-wrap;background:#f5fbf6;border:1px solid #d8e9dc;padding:13px 14px;font-size:14px;font-weight:750;line-height:1.65;display:block}.transformSqlModalContent{border-radius:var(--radius-sm);color:#d9f99d;max-height:min(60vh,540px);font-family:var(--font-space-grotesk), Consolas, monospace;white-space:pre;background:#102217;border:1px solid #d8e9dc;margin:0;padding:14px;font-size:12px;line-height:1.55;overflow:auto}@keyframes importingSpin{to{transform:rotate(360deg)}}.compareHdcSyncMeta{color:var(--muted);justify-content:flex-end;align-items:center;gap:5px;margin:14px 0 8px;font-size:11px;font-weight:500;display:flex}.compareHdcSyncMeta .lucide{width:13px;height:13px}.compareHdcTableLabel{color:var(--muted);gap:4px;margin:8px 0 10px;font-size:11px;display:grid}.compareHdcTableLabel>div{align-items:flex-start;gap:5px;display:flex}.compareHdcTableLabel .lucide{color:#0f766e;flex:none;width:14px;height:14px;margin-top:1px}.compareHdcTableLabel strong{color:var(--text);font-weight:700}.compareHdcTableLabel .compareHdcFixHint .lucide{color:#d97706}.compareHdcTable{min-width:1180px}.compareHdcTableWrap{max-height:none;overflow:auto hidden}.compareHdcTable tbody .numCol{font-size:11px}.compareHdcTable .compareGroupHeader{text-align:center;border-left:1px solid var(--border-strong)}.compareHdcTable .compareGroupCol{border-left:1px solid var(--border-strong)}.compareTargetHeader{color:#15803d!important;background:#e5f6ea!important}.compareTargetCell{color:#166534;background:#f5fbf6;font-weight:850}.compareHdcTable .compareDimCol{color:color-mix(in srgb, var(--muted) 65%, transparent);font-size:11px;font-weight:400}.diffPlain{color:var(--text)}.diffBadgeWarning,.diffBadgeDanger,.diffBadgeInfo,.diffBadgeInfoStrong{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;min-height:20px;padding:2px 8px;font-size:11px;font-weight:400;line-height:1.3;display:inline-flex}.diffBadgeWarning{color:#1f2937;background:#f59e0b}.diffBadgeDanger{color:#fff;background:#ef2d2d}.diffBadgeInfo{color:#082f49;background:#38bdf8}.diffBadgeInfoStrong{color:#fff;background:#0369a1}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_f7a5bcde-module__E71yuW__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_f7a5bcde-module__E71yuW__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/bfd813093b8ca1bb-s.p.3ok2djvs6w93k.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/acc5f86302586f33-s.1ttn5ge0anb6a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(../media/f304c3cf3765fb5f-s.0h0-3wqrkgcb1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai Fallback;src:local(Arial);ascent-override:99.79%;descent-override:42.32%;line-gap-override:0.0%;size-adjust:106.33%}.noto_sans_thai_cf444587-module__pAfuvG__className{font-family:Noto Sans Thai,Noto Sans Thai Fallback;font-style:normal}.noto_sans_thai_cf444587-module__pAfuvG__variable{--font-noto-sans-thai:"Noto Sans Thai", "Noto Sans Thai Fallback"}
