:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#173638;background:#f3f7f6;font-synthesis:none;--ink: #173638;--muted: #668081;--line: #d9e5e3;--paper: #ffffff;--teal: #0c766d;--teal-dark: #075d57;--orange: #e56d35;--soft: #e8f2f0}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--teal)}.app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}header{height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;gap:38px;background:#fffffff0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;padding:0;color:var(--ink);cursor:pointer;text-align:left}.brand-mark{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:800}.brand strong,.brand small{display:block;line-height:1.05}.brand small{color:var(--muted);margin-top:4px;font-size:11px;letter-spacing:.04em}nav{display:flex;align-items:stretch;height:100%;gap:4px}nav button{position:relative;border:0;background:transparent;padding:0 15px;color:var(--muted);cursor:pointer;font-size:14px}nav button.active{color:var(--ink);font-weight:650}nav button.active:after{content:"";position:absolute;height:3px;left:12px;right:12px;bottom:0;background:var(--orange);border-radius:3px 3px 0 0}.session-control{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;white-space:nowrap}.session-control button{border:0;background:transparent;color:var(--teal);cursor:pointer;padding:6px}main{min-width:0}.hero{min-height:480px;padding:78px clamp(24px,7vw,110px);display:grid;grid-template-columns:1.35fr .75fr;gap:70px;align-items:center;background:radial-gradient(circle at 85% 15%,#d8ebe8 0,transparent 32%),linear-gradient(135deg,#f9fbfa,#edf5f3);border-bottom:1px solid var(--line)}.hero h1,.page-section h1{margin:12px 0 20px;font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.045em;max-width:760px}.hero p{max-width:660px;color:var(--muted);font-size:18px;line-height:1.65;margin:0 0 30px}.eyebrow{display:block;color:var(--teal);font:700 11px/1.3 monospace;letter-spacing:.13em}.button{display:inline-flex;border-radius:8px;padding:11px 18px;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;align-items:center;justify-content:center}.button-primary{background:var(--teal);color:#fff;box-shadow:0 7px 18px #0c766d29}.button-primary:hover{background:var(--teal-dark)}.button:disabled{opacity:.5;cursor:not-allowed}.flow-card{background:#163f40;color:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px #1736382e}.flow-card div{display:grid;grid-template-columns:64px 1fr;padding:24px;align-items:center;border-bottom:1px solid rgba(255,255,255,.13)}.flow-card div:last-child{border:0}.flow-card strong{color:#78c8bd;font:600 13px monospace}.flow-card span{font-weight:650}.section{padding:58px clamp(24px,6vw,96px)}.page-section{padding-top:64px}.page-section h1{font-size:clamp(38px,4vw,56px);margin-bottom:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:28px}.section-heading h2{font-size:30px;margin:8px 0 0;letter-spacing:-.03em}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0 clamp(24px,6vw,96px);background:var(--line);border-bottom:1px solid var(--line)}.metric-grid.compact{grid-template-columns:repeat(4,1fr);padding:0;margin-bottom:22px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.metric{background:var(--paper);padding:28px;display:flex;flex-direction:column;gap:10px}.metric span{color:var(--muted);font-size:13px}.metric strong{font-size:24px;letter-spacing:-.025em}.compact .metric strong{font-size:17px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:24px}.card-top{display:flex;justify-content:space-between;gap:12px}.card h3{font-size:21px;margin:24px 0 8px}.card p{min-height:48px;color:var(--muted);line-height:1.5}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.muted{color:var(--muted);font-size:13px}.status{display:inline-flex;white-space:nowrap;border-radius:999px;padding:5px 9px;font:700 10px/1 monospace;letter-spacing:.04em;background:#edf2f1;color:#597170}.status-deployed{background:#dcf2e9;color:#176647}.status-disabled{background:#f0f0ec;color:#6c6c5c}.status-failed{background:#fde8e2;color:#a73c24}.status-deploying,.status-validating,.status-uploading{background:#e6eff9;color:#2c5f91}.split-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}.download-panel,.steps-panel{border-radius:16px;padding:34px;border:1px solid var(--line);background:var(--paper)}.download-panel{background:#173f40;color:#fff;border-color:#173f40}.download-panel .eyebrow{color:#85d1c8}.download-panel h2{font-size:36px;margin:14px 0}.download-panel p{color:#b9cecc;line-height:1.6;max-width:620px}.download-panel dl{margin:34px 0 0;border-top:1px solid rgba(255,255,255,.15)}.download-panel dl div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}.download-panel dt{color:#aac2c0}.download-panel dd{margin:0}.steps-panel ol{padding:0;list-style:none;counter-reset:steps;margin:16px 0 0}.steps-panel li{counter-increment:steps;display:grid;grid-template-columns:38px 110px 1fr;gap:8px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line)}.steps-panel li:before{content:counter(steps,decimal-leading-zero);color:var(--orange);font:700 12px monospace}.steps-panel li span{color:var(--muted)}code{font-family:ui-monospace,monospace;background:#0c766d17;padding:2px 5px;border-radius:4px}input[type=password],input[type=text],input[type=email]{border:1px solid #c9d8d6;border-radius:8px;background:#fff;padding:10px 12px;color:var(--ink);outline:none}input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0c766d1a}.upload-panel{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--paper);margin-bottom:20px}.upload-panel div{display:flex;flex-direction:column;gap:5px}.upload-panel span{color:var(--muted);font-size:13px}.notice{background:#e8f2f0;color:#275c58;border-left:3px solid var(--teal);padding:13px 16px;margin:16px 0;border-radius:0 8px 8px 0}.notice-error{background:#fcebe7;color:#8b3d2a;border-color:var(--orange)}.global-notice{margin:20px clamp(24px,6vw,96px) 0}.empty-state{padding:45px;border:1px dashed #b9cbca;border-radius:12px;text-align:center;color:var(--muted);background:#ffffff80}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper)}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{padding:13px 16px;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:#f7f9f8;border-bottom:1px solid var(--line)}td{padding:16px;border-bottom:1px solid #e6edec;vertical-align:top}tr:last-child td{border-bottom:0}.table-sub{display:block;margin-top:5px;color:var(--muted)}.table-url{display:inline-block;max-width:260px;overflow-wrap:anywhere;color:var(--teal)}.tag-list,.action-list,.download-links,.inline-controls{display:flex;flex-wrap:wrap;gap:7px}.tag{padding:4px 7px;background:var(--soft);color:#315d59;border-radius:5px;font:11px monospace}.action-list button,.action-list a{padding:0;border:0;background:none;color:var(--teal);cursor:pointer;font-size:12px;text-decoration:none}.action-list .danger{color:#b4482f}.method{font:700 10px monospace;padding:4px 6px;border-radius:4px;background:#e6eef7;color:#315d8b}.download-links{margin:16px 0;justify-content:flex-end}.download-links a{font-size:13px}.view-catalog{display:flex;align-items:center;gap:14px;min-height:44px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.view-catalog>strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.supported-skills{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.supported-skills>strong{display:block;margin-bottom:10px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.inline-controls{align-items:center}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 10%,#d8ebe8 0,transparent 35%),#f3f7f6}.login-card{width:min(430px,100%);display:grid;gap:12px;padding:38px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px #1736381f}.login-card .brand-mark{margin-bottom:12px}.login-card h1{margin:4px 0 0;font-size:42px;letter-spacing:-.04em}.login-card p{margin:0 0 14px;color:var(--muted);line-height:1.5}.login-card label{margin-top:4px;color:var(--muted);font-size:12px;font-weight:650}.login-card .button{margin-top:10px}.loading-state{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.role-editor{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px 14px;min-width:390px}.role-editor label{display:flex;align-items:center;gap:6px;font:11px ui-monospace,monospace}.role-editor .button{justify-self:start;padding:6px 12px;background:var(--soft);color:var(--teal-dark)}.inline-error{grid-column:1 / -1;color:#8b3d2a;font-size:11px}.status-published,.status-succeeded,.status-active,.status-approved{background:#dcf2e9;color:#176647}.status-rejected,.status-failed{background:#fde8e2;color:#a73c24}.status-draft,.status-unpublished{background:#f0f0ec;color:#6c6c5c}.status-in-review,.status-publishing{background:#e6eff9;color:#2c5f91}footer{padding:22px clamp(24px,5vw,72px);border-top:1px solid var(--line);background:#fff;color:var(--muted);display:flex;justify-content:space-between;gap:20px;font-size:11px}@media(max-width:850px){header{gap:14px;padding:0 18px;overflow-x:auto}.session-control span{display:none}nav button{padding:0 9px}.hero{grid-template-columns:1fr;padding-top:54px;gap:35px}.metric-grid,.metric-grid.compact,.card-grid,.split-layout{grid-template-columns:1fr}.section-heading{align-items:stretch;flex-direction:column}.upload-panel{grid-template-columns:1fr}.steps-panel li{grid-template-columns:32px 90px 1fr}.role-editor{min-width:280px;grid-template-columns:1fr}}
