:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#192824;--muted:#7b8b82;--line:#e4ebe4;--paper:#f6f8f5;--green:#72b633;--dark:#172823;background:var(--paper);color:var(--ink);font-family:Arial,Noto Sans Thai,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}button{font:inherit}::selection{color:#172823;background:#c8eea4}.brandIcon{color:#203c22;letter-spacing:-.16em;background:#b4e86d;border-radius:9px;place-items:center;width:31px;height:31px;padding-right:3px;font-size:23px;font-style:italic;font-weight:900;display:inline-grid;transform:rotate(-8deg)}.brandAccent,.titleDot{color:var(--green)}.loginScreen{background:#f7f9f5;flex-direction:column;min-height:100vh;padding:33px max(34px,50vw - 625px);display:flex;position:relative;overflow:hidden}.loginGlow{pointer-events:none;background:radial-gradient(circle,#d9efb5 0,#eaf4db 36%,#0000 68%);width:890px;height:890px;position:absolute;top:-190px;right:-160px}.loginTop{z-index:1;letter-spacing:-1.5px;align-items:center;gap:12px;font-size:25px;font-weight:800;display:flex}.loginBody{z-index:1;max-width:820px;margin:auto 0;padding:85px 0 100px}.eyebrow{color:#648842;letter-spacing:2px;align-items:center;gap:11px;font-size:11px;font-weight:800;display:flex}.eyebrowLine{background:#75b748;width:27px;height:2px}.loginBody h1{letter-spacing:-.085em;margin:25px 0;font-size:clamp(62px,8vw,116px);font-weight:800;line-height:1.08}.loginBody h1 em{color:#75ae40;font-style:normal}.loginBody p{color:#627269;max-width:560px;margin:0 0 34px;font-size:18px;line-height:1.85}.primaryAction{color:#fff;cursor:pointer;background:#1b3229;border:0;border-radius:11px;align-items:center;gap:25px;min-width:280px;padding:17px 19px;font-weight:700;display:inline-flex;box-shadow:0 13px 33px #19312626}.primaryAction span:last-child{margin-left:auto}.primaryAction:disabled{cursor:not-allowed;opacity:.55}.githubGlyph{font-size:19px}.loginBody small{color:#85948a;margin-top:20px;font-size:12px;display:block}.loginBottom{z-index:1;color:#819087;letter-spacing:1.5px;border-top:1px solid #dce5da;justify-content:space-between;gap:18px;padding-top:20px;font-size:11px;font-weight:800;display:flex}.loginBottom a:hover{text-decoration:underline}.notice{border-radius:10px;max-width:600px;margin:0 0 20px;padding:15px 18px;font-size:13px;line-height:1.7}.notice.warning{color:#77571c;background:#fff5df;border:1px solid #f0dfa8}.notice.error{color:#9a4135;background:#fff0ed;border:1px solid #f0ccc6}.portal{grid-template-columns:246px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--dark);color:#e6eee6;flex-direction:column;height:100vh;padding:29px 16px 17px;display:flex;position:sticky;top:0}.sidebarBrand{letter-spacing:-1.1px;white-space:nowrap;align-items:center;gap:11px;padding:4px 10px;font-size:22px;font-weight:800;display:inline-flex}.sidebarCaption{letter-spacing:1.8px;color:#718c7c;margin:64px 15px 15px;font-size:10px;font-weight:800}.sidebarNav{flex-direction:column;gap:5px;display:flex}.sidebarNav a{color:#c0d0c5;border-radius:9px;align-items:center;gap:13px;padding:12px 13px;font-size:14px;transition:background .2s,color .2s;display:flex}.sidebarNav a:hover{color:#fff;background:#2c4338}.navIcon{text-align:center;color:#9bd16f;width:23px;font-size:19px}.navArrow{color:#688273;opacity:0;margin-left:auto}.sidebarNav a:hover .navArrow{opacity:1}.sidebarBottom{margin-top:auto}.sidebarInfo{color:#9fb3a4;letter-spacing:1.4px;border-top:1px solid #33483d;align-items:center;gap:10px;padding:20px 12px;font-size:10px;font-weight:800;display:flex}.signalDot{background:#99db5c;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #365339}.userChip{align-items:center;gap:11px;padding:11px 10px;display:flex}.userAvatar{color:#fff;background:#46654c;border-radius:9px;place-items:center;width:36px;height:36px;font-size:15px;font-weight:800;display:grid}.userChip strong,.userChip small{display:block}.userChip strong{font-size:13px}.userChip small{color:#789283;margin-top:4px;font-size:10px}.signOut{color:#9daf9e;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;width:100%;padding:12px;font-size:12px;display:flex}.signOut:hover{color:#fff}.portalMain{min-width:0}.mobileHeader,.mobileNav{display:none}.content{max-width:1550px;margin:0 auto;padding:51px clamp(25px,4.5vw,72px) 85px}.pageTop{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.eyebrow.dark{color:#719a5c}.pageTop h1{letter-spacing:-.07em;overflow-wrap:anywhere;margin:17px 0 10px;font-size:clamp(39px,4vw,59px);font-weight:800;line-height:1.1}.pageTop p{color:#74847a;margin:0;font-size:14px;line-height:1.75}.refreshButton{white-space:nowrap;color:#54695b;background:#fff;border:1px solid #dce5db;border-radius:9px;align-items:center;gap:10px;padding:11px 15px;font-size:13px;font-weight:700;display:inline-flex}.refreshButton:hover{background:#edf4e7}.timeLabel{text-align:right;color:#9aa9a0;margin:10px 0 25px;font-size:11px}.alertBox{color:#775c28;background:#fff8e9;border:1px solid #efdfbb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:13px;margin:22px 0;padding:13px 18px;font-size:12px;line-height:1.6;display:flex}.alertBox strong{font-size:13px}.alertBox a{margin-left:auto;font-weight:700;text-decoration:underline}.statGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:30px 0 24px;display:grid}.statCard{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:168px;padding:23px 24px;position:relative;overflow:hidden;box-shadow:0 4px 16px #2b423005}.statCard>span{color:#89998f;letter-spacing:1.7px;font-size:10px;font-weight:800;display:block}.statCard strong{letter-spacing:-.08em;margin:16px 0 5px;font-size:49px;line-height:1.1;display:block}.statCard small{color:#9aaa9e;font-size:11px}.statCard i{color:#cbdac8;font-size:23px;font-style:normal;position:absolute;top:16px;right:20px}.statCard.green strong{color:#4f9e34}.statCard.amber strong{color:#b7892d}.statCard.red strong{color:#bf6a5c}.dashboardGrid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;display:grid}.surface{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 22px #29402d06}.surfaceHead{border-bottom:1px solid #edf1ec;justify-content:space-between;align-items:center;gap:17px;padding:24px 27px;display:flex}.surfaceHead h2{letter-spacing:-.04em;margin:6px 0 0;font-size:19px}.surfaceHead>a{color:#598945;white-space:nowrap;font-size:12px;font-weight:700}.kicker{color:#83a972;letter-spacing:1.7px;font-size:10px;font-weight:800}.emptyState{text-align:center;color:#95a39a;padding:42px 26px;font-size:13px;line-height:1.7}.appList,.releaseList,.workflowRows,.deploymentList,.issueList{flex-direction:column;display:flex}.appRow,.workflowRow,.deploymentRow,.issueRow{border-top:1px solid #f0f3ef;align-items:center;gap:13px;min-width:0;padding:17px 25px;display:flex}.appRow:first-child,.workflowRow:first-child,.deploymentRow:first-child,.issueRow:first-child{border-top:0}.appRow:hover,.workflowRow:hover,a.deploymentRow:hover{background:#f8fbf6}.appMark{color:#5e923e;background:#e6f2dc;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;font-size:16px;font-weight:800;display:grid}.appIdentity,.deploymentMain{flex:1;min-width:0}.appIdentity strong,.appIdentity small,.deploymentMain strong,.deploymentMain small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.appIdentity strong,.deploymentMain strong{font-size:13px}.appIdentity small,.deploymentMain small{color:#98a69b;margin-top:5px;font-size:11px}.rowArrow{color:#a4b5a6;font-size:16px}.status{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.2px;border-radius:20px;align-items:center;gap:7px;max-width:150px;padding:6px 9px;font-size:10px;font-weight:800;display:inline-flex;overflow:hidden}.statusDot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.status-good{color:#4d9a3e;background:#e8f6e2}.status-bad{color:#c47163;background:#fff0ed}.status-busy{color:#a9833e;background:#fff6e5}.status-muted{color:#87968b;background:#eff2ef}.releaseRow{align-items:stretch;gap:15px;padding:15px 24px;display:flex}.releaseRow:hover{background:#f9fbf7}.releaseRail{flex:none;width:13px;position:relative}.releaseRail:after{content:"";background:#e8eee5;width:1px;position:absolute;top:17px;bottom:-29px;left:6px}.releaseRow:last-child .releaseRail:after{display:none}.releaseRail span{background:#a2d174;border-radius:50%;width:9px;height:9px;position:absolute;top:5px;left:2px;box-shadow:0 0 0 4px #ecf5e5}.releaseCopy{flex:1;min-width:0}.releaseCopy>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.releaseCopy strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.releaseCopy p{color:#829486;margin:7px 0 6px;font-size:11px}.releaseCopy small{color:#a4b0a7;font-size:10px}.workflowSurface{margin-top:20px}.workflowRow>span:nth-child(2){flex:1;min-width:0}.workflowRow strong,.workflowRow small{display:block}.workflowRow strong{font-size:13px}.workflowRow small{color:#9bac9f;margin-top:5px;font-size:11px}.workflowIcon,.deploymentSymbol{color:#6b9d5a;background:#eef4ea;border-radius:9px;flex:none;place-items:center;width:35px;height:35px;font-size:21px;display:grid}.sourceLabel{color:#95a599;font-size:11px;font-weight:700}.dataNote{color:#a3b1a6;margin:20px 0 0;font-size:11px;line-height:1.6}.fullSurface{margin-top:23px}.infoStrip{color:#607e5b;background:#eff6ea;border:1px solid #dce9d8;border-radius:10px;align-items:center;gap:14px;margin-top:26px;padding:11px 17px;display:flex}.infoStrip span{font-size:18px}.infoStrip p{margin:0;font-size:12px;line-height:1.6}.deploymentRow{padding:19px 27px}.deploymentTime{color:#9aaa9d;white-space:nowrap;font-size:11px}.deploymentMain code,.releaseCopy code{background:#f1f5ee;border-radius:4px;padding:2px 5px;font-family:Consolas,monospace;font-size:11px}.breadcrumb{color:#98a79a;gap:11px;margin-bottom:22px;font-size:11px;display:flex}.breadcrumb a:hover{color:#4e873a}.detailGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:29px;display:grid}.detailCard{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:19px 20px}.detailCard span{letter-spacing:1.2px;color:#9aaa9b;margin-bottom:15px;font-size:10px;font-weight:800;display:block}.detailCard strong,.detailCard a{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;display:block;overflow:hidden}.detailCard a{color:#528c42}.mono{font-family:Consolas,monospace}.stageGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:27px 24px;display:grid}.stage{border:1px solid #e7eee5;border-radius:11px;flex-direction:column;align-items:flex-start;gap:11px;min-height:145px;padding:13px 16px;display:flex;position:relative}.stage:not(:last-child):after{content:"→";color:#9cbe86;z-index:1;font-size:20px;position:absolute;top:58px;right:-16px}.stageNumber{color:#87b46e;letter-spacing:1px;font-size:10px;font-weight:800}.stage strong{font-size:12px}.stage code{font-family:Consolas,monospace;font-size:13px}.stage small{color:#a5b2a5;margin-top:auto;font-size:10px}.surfaceFoot{color:#98a99a;border-top:1px solid #edf1ec;padding:15px 26px;font-size:11px}.inlineLinks{color:#5c9550;flex-wrap:wrap;gap:20px;margin-top:20px;font-size:12px;font-weight:700;display:flex}.issueSummary{color:#fff;background:#243a2e;border-radius:13px;align-items:baseline;gap:14px;margin-top:30px;padding:25px 30px;display:flex}.issueSummary strong{font-size:44px;line-height:1}.issueSummary span{font-size:15px;font-weight:700}.issueSummary small{color:#afc5b4;margin-left:auto;font-size:11px}.allClear{text-align:center;color:#6c806e;padding:80px 20px}.allClear span{color:#4c9940;background:#e2f2dd;border-radius:50%;place-items:center;width:45px;height:45px;margin:0 auto 15px;font-size:24px;display:grid}.allClear h2{color:#284431;font-size:21px}.allClear p{font-size:12px}.issueGlyph{color:#c7835c;background:#fff3eb;border-radius:9px;flex:none;place-items:center;width:33px;height:33px;font-size:18px;font-weight:800;display:grid}.issueRow>div{flex:1;min-width:0}.issueRow strong,.issueRow small{display:block}.issueRow strong{font-size:12px}.issueRow small{color:#a0aea2;margin-top:6px;font-size:11px}.issueRow>a{color:#639654;white-space:nowrap;font-size:11px;font-weight:700}.docsLayout{grid-template-columns:190px minmax(0,1fr);gap:45px;margin-top:34px;display:grid}.docsToc{border-left:1px solid #dae4d9;flex-direction:column;align-self:start;gap:18px;padding:3px 0 3px 19px;display:flex;position:sticky;top:35px}.docsToc strong{letter-spacing:1px;color:#91a08e;font-size:11px}.docsToc a{color:#7f8e81;font-size:12px}.docsToc a:hover{color:#4d8d39}.docsBody{min-width:0;max-width:850px}.docsSection{border-bottom:1px solid #dfe8df;margin-bottom:55px;padding:0 0 55px;scroll-margin-top:30px}.docsSection h2{letter-spacing:-.05em;margin:12px 0 14px;font-size:28px}.docsSection>p{color:#6b7e70;margin:0 0 18px;font-size:14px;line-height:1.85}.docsSection code{background:#eaf2e6;border-radius:4px;padding:2px 5px;font-family:Consolas,monospace;font-size:12px}.flowSteps{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:26px;overflow:hidden}.flowStep{border-top:1px solid var(--line);gap:22px;padding:20px 23px;display:flex}.flowStep:first-child{border-top:0}.flowStep>span{color:#72a856;font-family:Consolas,monospace;font-size:16px;font-weight:800}.flowStep h3{margin:0 0 6px;font-size:14px}.flowStep p{color:#87988a;margin:0;font-size:12px;line-height:1.7}.docCallout{color:#667e63;background:#edf5e9;border-left:3px solid #87bb67;border-radius:0 7px 7px 0;margin-top:20px;padding:14px 17px;font-size:12px;line-height:1.8}.configRows{border:1px solid var(--line);background:#fff;border-radius:10px;margin:24px 0;overflow:hidden}.configRows>div{color:#819181;border-top:1px solid #edf1ec;align-items:center;gap:20px;padding:12px 18px;font-size:12px;display:flex}.configRows>div:first-child{border-top:0}.configRows code{white-space:nowrap;min-width:190px}.runbook{counter-reset:runbook;margin:22px 0;padding:0;list-style:none}.runbook li{counter-increment:runbook;border-top:1px solid #dfe8df;padding:17px 0 17px 39px;position:relative}.runbook li:before{content:counter(runbook, decimal-leading-zero);color:#7daa5a;font-family:Consolas,monospace;font-weight:800;position:absolute;top:17px;left:0}.runbook strong{font-size:13px}.runbook p{color:#849485;margin:6px 0 0;font-size:12px;line-height:1.7}.textLink{color:#508c3c;font-size:12px;font-weight:800}@media (max-width:1100px){.statGrid,.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardGrid{grid-template-columns:1fr}.portal{grid-template-columns:214px minmax(0,1fr)}.sidebarBrand{font-size:19px}}@media (max-width:750px){.portal{display:block}.sidebar{display:none}.mobileHeader{color:#fff;background:#172823;padding:13px 20px;display:block}.mobileNav{color:#cde2d0;white-space:nowrap;background:#21372b;gap:20px;padding:13px 20px;font-size:12px;display:flex;overflow:auto}.content{padding:37px 19px 70px}.pageTop{align-items:flex-start}.pageTop h1{font-size:39px}.refreshButton span{display:none}.timeLabel{text-align:left}.statGrid{gap:9px}.statCard{min-height:135px;padding:17px}.statCard strong{font-size:39px}.statCard small{font-size:10px}.statCard i{display:none}.surfaceHead{padding:19px}.appRow,.workflowRow,.deploymentRow,.issueRow{padding:15px 17px}.appRow .status,.deploymentRow .status,.deploymentTime{display:none}.stageGrid{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.stage:after{display:none}.docsLayout{display:block}.docsToc{border-left:0;border-bottom:1px solid var(--line);white-space:nowrap;flex-direction:row;gap:15px;margin-bottom:35px;padding:0 0 15px;display:flex;position:static;overflow:auto}.docsToc strong{display:none}.loginScreen{padding:25px}.loginBody{padding:50px 0}.loginBody h1{font-size:61px}.loginBottom{font-size:9px}}@media (max-width:480px){.statGrid,.detailGrid{grid-template-columns:1fr 1fr}.statCard{min-height:120px}.statCard>span{font-size:9px}.statCard strong{margin:13px 0 3px}.appIdentity small{max-width:180px}.status{font-size:9px}.stageGrid{grid-template-columns:1fr}.issueSummary{flex-wrap:wrap;align-items:center}.issueSummary small{width:100%;margin-left:0}.configRows>div{display:block}.configRows code{margin-bottom:7px;display:inline-block}}
