:root{--ink: oklch(20% .015 255);--muted: oklch(47% .018 255);--border: oklch(89% .012 255);--surface: oklch(100% 0 0);--canvas: oklch(97.5% .008 255);--accent: oklch(47% .16 255);--accent-hover: oklch(40% .16 255);--success: oklch(43% .12 150);--warning: oklch(52% .13 75);--danger: oklch(50% .18 25)}*{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100%}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--canvas);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select{transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid oklch(70% .13 255 / 35%);outline-offset:2px}button:disabled,input:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3{color:var(--ink);text-wrap:balance}code,.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.app-header{border-bottom:1px solid var(--border);background:var(--surface)}.app-header>div{max-width:1280px;height:64px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.wordmark{display:inline-flex;align-items:center;gap:10px;font-weight:720;letter-spacing:-.02em}.wordmark>span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:#fff;background:var(--ink);font-size:13px}.app-header nav{display:flex;align-items:center;gap:22px;color:var(--muted);font-weight:550}.app-header nav a:hover,.app-header nav a.current{color:var(--ink)}.app-header nav form{display:block}.user-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dae6f5;color:var(--accent);font-size:11px;font-weight:750}.nav-button{width:auto;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}.nav-button:hover{color:var(--ink)}main{max-width:1280px;min-height:calc(100vh - 64px);margin:auto;padding:42px 28px 80px}.page-shell{display:flex;flex-direction:column;gap:24px;width:100%}.page-narrow{max-width:680px;margin:auto}.page-narrow-wide{max-width:920px;margin:auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.page-heading h1{font-size:28px;line-height:1.2;letter-spacing:-.025em}.page-heading p,.panel-heading p{margin-top:5px;color:var(--muted)}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.breadcrumbs a:hover,.text-link:hover{color:var(--accent)}.action-row{display:flex;align-items:center;gap:10px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px}.panel-heading{min-height:66px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border)}.panel-heading h2,.compact-panel h2{font-size:16px;letter-spacing:-.01em}.panel-heading>span{color:var(--muted);font-size:13px}.split-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(310px,.8fr);gap:20px;align-items:start}.app-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-panel{padding:18px 20px;display:flex;align-items:center;gap:24px}.compact-panel .text-link{margin-left:auto;color:var(--accent);font-weight:600}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{padding:11px 16px;background:var(--canvas);color:var(--muted);font-size:12px;font-weight:650}td{padding:14px 16px;border-top:1px solid var(--border);white-space:nowrap}tbody tr:hover{background:#f5f9fe}.row-link{font-weight:650}.row-link:hover{color:var(--accent)}.empty-state{padding:44px 24px;text-align:center;color:var(--muted)}.empty-state strong{display:block;color:var(--ink);font-size:16px}.empty-state p{margin:5px auto 18px;max-width:45ch}form{display:flex;flex-direction:column;gap:20px}label{display:block;margin-bottom:6px;font-size:13px;font-weight:650}input,select,textarea{width:100%;min-height:42px;padding:9px 12px;color:var(--ink);background:var(--surface);border:1px solid oklch(80% .015 255);border-radius:7px}input:hover,select:hover{border-color:#8e99a8}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #64a1ee26;outline:none}input::placeholder{color:#51565c}small{display:block;margin-top:6px;color:var(--muted)}button,.button-link{width:auto;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;color:#fff;background:var(--ink);border:1px solid var(--ink);border-radius:7px;font-weight:650;cursor:pointer}button:hover,.button-link:hover{background:#21272f}.button-secondary{color:var(--ink);background:var(--surface);border:1px solid var(--border)}.button-secondary:hover{background:var(--canvas)}.button-compact{min-height:34px;padding:6px 11px;font-size:13px}.form-panel form,.wizard-panel form,.provision-result{padding:20px}.form-actions{position:sticky;bottom:16px;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:12px;background:#ffffffeb;border:1px solid var(--border);border-radius:9px;box-shadow:0 8px 24px #10171f1a}.form-actions span{margin-right:auto;color:var(--muted);font-size:13px}.status,.badge,.required-badge,.locked-badge{display:inline-flex;align-items:center;width:fit-content;padding:3px 8px;border-radius:99px;background:#e5ecf5;color:var(--muted);font-size:12px;font-weight:700}.status-online,.status-success{color:var(--success);background:#d7f4dc}.status-provisioning,.status-queued,.status-running{color:var(--accent);background:#dfedff;background:oklch(94% .04 255)}.status-error,.status-failed,.status-cancelled{color:var(--danger);background:#ffe3e0;background:oklch(94% .045 25)}.status-offline,.status-rolled_back{color:var(--muted)}.status-verified{color:var(--success);background:#d7f4dc}.status-pending_dns,.status-verifying{color:var(--accent);background:#dfedff;background:oklch(94% .04 255)}.badge-row{display:flex;flex-wrap:wrap;gap:8px;padding:20px}.badge{color:var(--accent)}.notice{display:flex;align-items:flex-start;gap:8px 18px;padding:14px 16px;border:1px solid;border-radius:8px}.notice>div{display:flex;flex-direction:column}.notice span{color:inherit}.notice-info{color:#113d70;background:#e9f3ff;background:oklch(96% .025 255);border-color:#accdf8}.notice-warning{justify-content:space-between;color:#5e3d00;color:oklch(39% .1 75);background:#ffefdb;background:oklch(96% .035 75);border-color:#e6c08d}.notice-error{color:var(--danger);background:#ffecea;background:oklch(96% .03 25);border-color:#fbb7b0}.code-block{display:flex;align-items:flex-start;gap:14px;padding:14px;overflow:auto;background:var(--ink);color:#e7ecf2;border-radius:8px}.code-block code{flex:1;white-space:pre-wrap;overflow-wrap:anywhere}.code-block button{color:#fff;background:transparent;border-color:#ffffff40}.provision-result>p{margin:18px 0 8px;color:var(--muted)}.provision-result .button-link{margin-top:18px}.provision-status{display:flex;align-items:center;gap:12px}.provision-status p{color:var(--muted)}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #64a1ee26}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--border);border-radius:10px}.detail-grid>div{padding:18px;border-right:1px solid var(--border)}.detail-grid>div:last-child{border:0}dt{color:var(--muted);font-size:12px}dd{margin-top:5px;font-weight:600;overflow-wrap:anywhere}.stacked-details{padding:0 20px 20px}.stacked-details>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.skeleton-stack{display:flex;flex-direction:column;gap:12px;padding:22px}.skeleton-stack span{height:16px;border-radius:4px;background:linear-gradient(90deg,var(--canvas),oklch(92% .01 255),var(--canvas));background-size:200% 100%;animation:shimmer 1.5s infinite}.deploy-form{padding:18px 20px}.deploy-form form{flex-direction:row;align-items:flex-end}.grow{flex:1}.checkbox-field{min-height:42px;margin:0;display:flex;align-items:center;gap:8px;white-space:nowrap}.checkbox-field input{width:17px;min-height:17px;accent-color:var(--accent)}.release-list>div{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-top:1px solid var(--border)}.release-list>div:first-child{border-top:0}.release-list p{color:var(--muted);font-size:13px}.pipeline-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.step-list{list-style:none;padding:10px 20px 18px}.step-list li{position:relative;display:flex;gap:12px;min-height:57px;padding:10px 0}.step-list li:not(:last-child):after{content:"";position:absolute;top:38px;left:13px;bottom:-8px;width:1px;background:var(--border)}.step-marker{z-index:1;display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;color:var(--muted);background:var(--canvas);border:1px solid var(--border);font-size:12px}.step-list li>div{display:flex;flex-direction:column}.step-list li span{color:var(--muted);font-size:12px}.step-success .step-marker{color:#fff;background:var(--success);border-color:var(--success)}.step-running .step-marker{color:#fff;background:var(--accent);border-color:var(--accent)}.step-failed .step-marker{color:#fff;background:var(--danger);border-color:var(--danger)}.output-panel pre{height:520px;margin:0;padding:18px;overflow:auto;color:#d9dfe6;background:#0b1016;border-radius:0 0 9px 9px;font:13px/1.65 SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.connection{color:var(--muted);font-size:12px}.connection:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--warning)}.connection.connected:before{background:var(--success)}.env-list{overflow:hidden}.env-row{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1fr);align-items:center;gap:24px;padding:16px 20px;border-top:1px solid var(--border)}.env-row:first-of-type{border-top:0}.env-row.env-missing{background:#fff1ef;background:oklch(97% .025 25)}.env-key>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.required-badge{color:var(--danger);background:#ffe3e0;background:oklch(94% .045 25)}.locked-badge{color:var(--muted)}.env-control{display:flex;gap:8px}.env-control button{flex:0 0 auto}.muted{color:var(--muted)}.form-container{max-width:420px;margin:40px auto;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.form-container h1{margin-bottom:6px;font-size:28px}.form-container>p{margin-bottom:28px;color:var(--muted)}input[data-invalid=true],textarea[data-invalid=true]{border-color:var(--danger)}input[data-invalid=true]+div,textarea[data-invalid=true]+div{margin-top:4px;color:var(--danger);font-size:13px}.hero{padding:80px 20px;max-width:780px}.hero h1{font-size:42px;line-height:1.08;letter-spacing:-.035em}.hero p{margin-top:16px;color:var(--muted);font-size:19px}.cards{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border)}.cards a{padding:24px;background:var(--surface);border-right:1px solid var(--border)}.cards a:last-child{border:0}.cards h3{font-size:16px}.cards p{margin-top:6px;color:var(--muted)}.status-trace,.status-debug{color:var(--muted);background:#e5ecf5}.status-info{color:var(--accent);background:#dfedff;background:oklch(94% .04 255)}.status-warn{color:#5e3d00;color:oklch(39% .1 75);background:#ffefdb;background:oklch(96% .035 75)}.status-fatal{color:var(--danger);background:#ffd5d0;background:oklch(91% .07 25)}.log-toolbar{display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(260px,1fr) minmax(240px,1fr);gap:20px;padding:18px 20px;align-items:end}.log-toolbar fieldset{min-width:0;border:0}.log-toolbar legend,.log-toolbar>label{margin-bottom:6px;font-size:13px;font-weight:650}.log-toolbar select[multiple]{height:92px}.log-level-filters{display:flex;flex-wrap:wrap;gap:8px 14px;min-height:42px;align-content:center}.log-level-filters label{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:550}.log-level-filters input{width:16px;min-height:16px;accent-color:var(--accent)}.log-output{min-width:0;overflow:hidden}.log-list{max-height:620px;overflow:auto;list-style:none}.log-list li{display:grid;grid-template-columns:92px 62px minmax(180px,280px) minmax(280px,1fr);gap:12px;align-items:start;padding:10px 16px;border-top:1px solid var(--border);font-size:13px}.log-list li:first-child{border-top:0}.log-list time,.log-unit{padding-top:3px;color:var(--muted);font:12px/1.5 SFMono-Regular,Consolas,monospace}.log-unit{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-message{min-width:0;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.log-message details{margin-top:5px;color:var(--muted);font-family:var(--font-sans)}.log-message summary{width:fit-content;cursor:pointer;font-size:12px}.log-message pre{margin-top:6px;padding:10px;overflow:auto;color:#d9dfe6;background:#0b1016;border-radius:6px;font:12px/1.5 SFMono-Regular,Consolas,monospace}.feedback-dialog{width:min(92vw,480px);padding:0;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 70px #060e183d}.feedback-dialog::backdrop{background:#060e1870}.feedback-dialog form{display:flex;flex-direction:column;gap:16px;padding:24px}.feedback-dialog h2{font-size:20px}.feedback-dialog form>div:first-child p{margin-top:5px;color:var(--muted)}.feedback-dialog textarea{resize:vertical}.feedback-actions{display:flex;justify-content:flex-end;gap:10px}.feedback-error{color:var(--danger);font-size:13px}.status-page{max-width:760px;margin:24px auto}.status-page .page-heading{margin-bottom:28px}.status-list{overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:10px}.status-list article{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border-top:1px solid var(--border)}.status-list article:first-child{border-top:0}.status-list h2{font-size:16px}.status-list p,.status-updated{margin-top:5px;color:var(--muted);font-size:14px}.status-state{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:650;white-space:nowrap}.status-state i{width:9px;height:9px;border-radius:50%;background:currentColor}.status-operational{color:#006129;color:oklch(43% .12 150)}.status-degraded{color:#7e5400;color:oklch(48% .12 75)}.status-outage{color:var(--danger)}.status-updated{text-align:right}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:820px){main{padding:28px 18px 60px}.app-header>div{padding:0 18px}.split-layout,.app-overview,.pipeline-layout{grid-template-columns:1fr}.detail-grid{grid-template-columns:repeat(2,1fr)}.detail-grid>div:nth-child(2){border-right:0}.detail-grid>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.deploy-form form{align-items:stretch;flex-direction:column}.output-panel pre{height:400px}.log-toolbar{grid-template-columns:1fr;align-items:stretch}.log-list li{grid-template-columns:84px 56px minmax(150px,220px) minmax(240px,1fr)}}@media(max-width:600px){.app-header nav>a{display:none}.page-heading{align-items:stretch;flex-direction:column}.action-row{width:100%}.action-row>*{flex:1}.env-row{grid-template-columns:1fr;gap:10px}.env-control,.notice-warning{flex-direction:column}.compact-panel{align-items:flex-start;flex-direction:column;gap:12px}.compact-panel .text-link{margin-left:0}.log-list li{grid-template-columns:78px 1fr}.log-list .log-unit,.log-list .log-message{grid-column:1 / -1}.cards{grid-template-columns:1fr}.cards a{border-right:0;border-bottom:1px solid var(--border)}}
