:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f8fafc;--bg-elevated:#fff;--text:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--accent:#2563eb;--accent-contrast:#fff;--danger:#dc2626;--danger-bg:#fef2f2;--success-bg:#ecfdf5;--success-text:#047857;--warning-bg:#fffbeb;--warning-text:#b45309;--code-bg:#0b1120;--code-text:#e2e8f0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f172a;--bg-elevated:#1e293b;--text:#e2e8f0;--text-muted:#94a3b8;--border:#334155;--accent:#3b82f6;--danger:#f87171;--danger-bg:#451a1a;--success-bg:#062e21;--success-text:#34d399;--warning-bg:#452b06;--warning-text:#fbbf24;--code-bg:#020617;--code-text:#e2e8f0}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;padding:0}a{color:var(--accent)}button{font:inherit;cursor:pointer;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:.5rem;padding:.5rem 1rem;transition:opacity .15s}button:hover{opacity:.85}input[type=text]{font:inherit;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);border-radius:.5rem;padding:.5rem .75rem}select,input[type=file]{font:inherit;color:var(--text)}.login{flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100vh;display:flex}.layout{align-items:flex-start;min-height:100dvh;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--bg-elevated);flex-direction:column;flex-shrink:0;align-self:stretch;gap:1.5rem;width:260px;height:100dvh;padding:1.5rem 1rem;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-header .brand{color:var(--text);font-size:1.05rem;font-weight:700;text-decoration:none;display:block}.sidebar-header .user-name{color:var(--text-muted);margin:.25rem 0 0;font-size:.85rem}.project-nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.project-nav a{color:var(--text);border-radius:.5rem;padding:.5rem .75rem;font-size:.9rem;text-decoration:none}.project-nav a:hover{background:var(--bg)}.project-nav a.active{background:var(--accent);color:var(--accent-contrast);font-weight:600}.sign-out button{color:var(--text-muted);border:1px solid var(--border);background:0 0;width:100%}.content{flex:1;width:100%;min-width:0;max-width:1280px;padding:2rem}.empty-state{color:var(--text-muted)}.targets-manager{max-width:70rem}.targets-header,.targets-header-actions,.save-targets,.add-target{align-items:center;display:flex}.targets-header{justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.targets-header h1,.targets-header p,.targets-feedback p{margin:0}.targets-header h1{font-size:1.5rem}.targets-header p{color:var(--text-muted);margin-top:.3rem}.targets-header-actions{flex:none;gap:.75rem}.view-switch{border:1px solid var(--border);border-radius:.4rem;grid-template-columns:repeat(2,1fr);display:grid;overflow:hidden}.view-switch button{color:var(--text-muted);background:0 0;border:0;border-radius:0;min-width:4.5rem;padding:.45rem .7rem}.view-switch button+button{border-left:1px solid var(--border)}.view-switch button.active{background:var(--accent);color:var(--accent-contrast)}.save-targets,.add-target{justify-content:center;gap:.4rem}.targets-table-wrap{border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.targets-table{border-collapse:collapse;table-layout:fixed;width:100%}.targets-table th,.targets-table td{border-bottom:1px solid var(--border);text-align:left;padding:.65rem}.targets-table th{color:var(--text-muted);text-transform:uppercase;font-size:.75rem}.targets-table th:first-child{width:28%}.targets-table th:nth-child(2){width:auto}.targets-table th:nth-child(3){width:6rem}.targets-table th:nth-child(4){width:3.75rem}.project-name-input{width:100%;font-weight:600;background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-contrast)!important}.service-tags{flex-wrap:wrap;align-items:center;gap:.35rem;min-height:2.25rem;display:flex}.service-tag{background:var(--bg);border:1px solid var(--border);border-radius:.5rem;align-items:center;max-width:100%;display:inline-flex;overflow:hidden}.service-tag-label,.service-tag-remove{color:var(--text);background:0 0;border:0;border-radius:0}.service-tag-label{text-overflow:ellipsis;white-space:nowrap;max-width:14rem;padding:.35rem .25rem .35rem .55rem;overflow:hidden}.service-tag-remove{color:var(--text-muted);align-self:stretch;place-items:center;padding:0 .4rem;display:inline-grid}.service-tag-remove:hover{color:var(--danger)}.service-tag-edit,.service-tag-new{color:var(--text);font:inherit;background:0 0;border:0;outline:0;min-width:0}.service-tag-edit{width:8rem;padding:.35rem 0 .35rem .55rem}.service-tag-new{border:1px dashed var(--border);border-radius:.5rem;width:7.5rem;padding:.35rem .55rem}.service-tag-new:focus,.service-tag:focus-within{border-color:var(--accent)}.compose-checkbox{cursor:pointer;place-items:center;width:2.25rem;height:2.25rem;display:inline-grid;position:relative}.compose-checkbox input{opacity:0;width:1px;height:1px;position:absolute}.compose-checkbox span{background:var(--bg-elevated);border:1px solid var(--border);color:#0000;border-radius:.45rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:flex}.compose-checkbox:hover span{border-color:var(--accent)}.compose-checkbox input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--accent) 35%, transparent);outline-offset:2px}.compose-checkbox input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.compose-checkbox:active span{transform:scale(.92)}.targets-row-actions{text-align:right!important}.danger-button{color:var(--danger);background:0 0}.add-target{color:var(--text-muted);background:0 0;border:0;margin:.5rem}.targets-json-editor{border:1px solid var(--border);border-radius:.5rem;overflow:hidden}.targets-feedback{min-height:2rem;padding-top:.65rem}.targets-error{color:var(--danger)}.targets-saved{color:var(--success-text)}@media (max-width:760px){.layout{flex-direction:column}.sidebar{border-bottom:1px solid var(--border);border-right:0;flex-direction:row;align-items:center;gap:.75rem;width:100%;height:auto;padding:.75rem 1rem;position:static;overflow:hidden}.sidebar-header .user-name{display:none}.project-nav{flex-direction:row;min-width:0;overflow-x:auto}.project-nav a,.sign-out{flex:none}.sign-out button{padding-inline:.65rem}.content{padding:1rem}.targets-header{flex-direction:column;align-items:stretch}.targets-header-actions{justify-content:space-between}.targets-table,.targets-table tbody,.targets-table tr,.targets-table td{width:100%;display:block}.targets-table thead{display:none}.targets-table tr{border-bottom:1px solid var(--border);padding:.4rem .65rem}.targets-table td{border:0;padding:.35rem 0}.targets-table td:before{color:var(--text-muted);content:attr(data-label);text-transform:uppercase;margin-bottom:.25rem;font-size:.72rem;display:block}.targets-row-actions:before{display:none!important}}.project-title{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.project-controls{margin-top:1rem}.control-actions{flex-wrap:wrap;gap:.5rem;display:flex}.control-button{border:1px solid var(--border);color:var(--text);background:0 0;justify-content:center;align-items:center;gap:.4rem;min-width:7rem;min-height:2.25rem;padding:.4rem .7rem;display:inline-flex}.control-button-start{background:var(--success-bg);border-color:var(--success-text);color:var(--success-text)}.control-button-stop{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.control-button:disabled{cursor:not-allowed;opacity:.45}.containers-accordion{border-bottom:1px solid var(--border);border-top:1px solid var(--border);margin-top:1rem}.containers-accordion summary{cursor:pointer;align-items:center;gap:.5rem;min-height:2.75rem;font-weight:600;list-style:none;display:flex}.containers-accordion summary::-webkit-details-marker{display:none}.container-count{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:.1rem .45rem;font-size:.75rem}.containers-chevron{color:var(--text-muted);margin-left:auto;transition:transform .15s}.containers-accordion[open] .containers-chevron{transform:rotate(180deg)}.container-list{border-top:1px solid var(--border)}.container-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.75rem 0;display:grid}.container-row+.container-row{border-top:1px solid var(--border)}.container-identity,.container-identity>div{min-width:0}.container-identity>div{align-items:center;gap:.5rem;display:flex}.container-identity strong,.container-identity p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.container-identity p,.containers-empty,.project-controls-error{margin:0}.container-identity p,.containers-empty{color:var(--text-muted);margin-top:.25rem;font-size:.8rem}.container-state{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;flex:none;padding:.08rem .4rem;font-size:.7rem}.container-state-running{background:var(--success-bg);border-color:var(--success-text);color:var(--success-text)}.control-actions-compact .control-button{min-width:6.25rem}.containers-empty{padding:.85rem 0}.project-controls-error{color:var(--danger);padding-top:.6rem;font-size:.85rem}@media (max-width:760px){.container-row{grid-template-columns:1fr;align-items:stretch}.control-actions-compact .control-button{flex:6rem}}.project-logs-button,.icon-button{justify-content:center;align-items:center;display:inline-flex}.project-logs-button{gap:.4rem;margin-left:.25rem;padding:.45rem .7rem;font-size:.9rem}.icon-button{aspect-ratio:1;flex:0 0 2.25rem;padding:0}.logs-modal{color:var(--text);background:0 0;border:0;width:min(72rem,100vw - 2rem);max-width:calc(100vw - 2rem);height:min(80vh,52rem);max-height:calc(100vh - 2rem);margin:auto;padding:0}.logs-modal::backdrop{background:#000000ad}.logs-modal-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:.5rem;flex-direction:column;height:100%;display:flex;overflow:hidden}.logs-modal-header,.logs-modal-status{justify-content:space-between;align-items:center;display:flex}.logs-modal-header{border-bottom:1px solid var(--border);padding:.9rem 1rem}.logs-modal-header h2,.logs-modal-header p,.logs-warnings p,.logs-error{margin:0}.logs-modal-header h2{font-size:1rem}.logs-modal-header p,.logs-modal-status{color:var(--text-muted);font-size:.8rem}.logs-modal-status{border-bottom:1px solid var(--border);min-height:2.25rem;padding:.45rem 1rem}.logs-filters{border-bottom:1px solid var(--border);flex:none;max-height:9rem;padding:.6rem 1rem;overflow:auto}.logs-filter-actions,.logs-filter-options,.logs-filter-option{align-items:center;display:flex}.logs-filter-actions{gap:.5rem;margin-bottom:.5rem}.logs-filter-actions>span{color:var(--text-muted);text-transform:uppercase;margin-right:auto;font-size:.78rem;font-weight:600}.logs-filter-actions button{min-height:1.75rem;padding:.2rem .5rem;font-size:.75rem}.logs-filter-options{flex-wrap:wrap;gap:.4rem}.logs-filter-option{border:1px solid var(--border);cursor:pointer;border-radius:.35rem;gap:.4rem;max-width:100%;padding:.35rem .5rem;font-size:.76rem}.logs-filter-option input{flex:none;margin:0}.logs-filter-option>span:first-of-type{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.logs-container-state{color:var(--text-muted);white-space:nowrap;font-size:.68rem}.logs-container-state-running{color:var(--success-text)}.logs-error,.logs-warnings{background:var(--danger-bg);color:var(--danger);padding:.55rem 1rem;font-size:.8rem}.logs-viewport{background:var(--code-bg);color:var(--code-text);flex:1;min-height:0;padding:.75rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.5;overflow:auto}.logs-empty{color:var(--text-muted);margin:1rem}.log-line{grid-template-columns:5.5rem minmax(9rem,14rem) 1fr;gap:.75rem;min-width:max-content;padding:.08rem 1rem;display:grid}.log-line-stderr{color:#ff9b9b}.log-time,.log-source{color:#8fa3b8;white-space:nowrap}.log-source{text-overflow:ellipsis;overflow:hidden}.log-message{white-space:pre-wrap;word-break:break-word}.project-tabs{border-bottom:1px solid var(--border);gap:1rem;margin:1.5rem 0;display:flex}.project-tabs a{color:var(--text-muted);padding:.5rem 0;text-decoration:none}.project-tabs a.active{border-bottom:2px solid var(--accent);color:var(--text);font-weight:600}.repo-link{opacity:.85;align-items:center;transition:opacity .15s;display:inline-flex}.repo-link:hover{opacity:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.timeline{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.submission-row{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.75rem}.submission-row summary{cursor:pointer;align-items:center;gap:1rem;padding:.85rem 1.1rem;list-style:none;display:flex}.submission-row summary::-webkit-details-marker{display:none}.submission-row summary:before{content:"›";color:var(--text-muted);transition:transform .15s;display:inline-block}.submission-row[open] summary:before{transform:rotate(90deg)}.submission-date{color:var(--text-muted);min-width:11rem;font-size:.85rem}.submission-ref{color:var(--text-muted);font-size:.85rem}.submission-message{flex:1;font-size:.9rem}.submission-body{border-top:1px solid var(--border);padding:1rem 1.1rem 1.1rem}.submission-actions{align-items:center;gap:.75rem;margin-top:1rem;display:flex}.error{color:var(--danger)}.files-view{max-width:1280px}.file-browser{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.5rem;padding:1rem}.breadcrumbs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.35rem;padding-bottom:.75rem;font-size:1.15rem;display:flex}.breadcrumbs button,.file-entry{color:var(--text);text-align:left;background:0 0;padding:0}.breadcrumbs button{color:var(--accent)}.breadcrumbs .breadcrumb-close{margin-left:auto;padding:.3rem .6rem;font-size:.8rem}.file-list{flex-direction:column;gap:.2rem;min-height:8rem;padding:.75rem 0;display:flex}.file-entry{border-radius:.25rem;padding:.45rem .5rem}.file-entry:hover{background:var(--bg);opacity:1}.file-entry.folder{font-weight:600}.file-browser-actions{justify-content:flex-end;gap:.75rem;display:flex}.file-create{border-top:1px solid var(--border);flex-direction:column;gap:.7rem;padding-top:1rem;display:flex}.file-editor{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.file-create label,.file-editor label{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.file-editor-controls{flex-wrap:wrap;gap:1rem;margin:.75rem 0;display:flex}.file-editor .version-picker,.apply-policy label,.apply-action-picker{flex-direction:row;align-items:center}.apply-policy{margin:0}.code-editor{border:1px solid var(--border);border-radius:.4rem;overflow:hidden}.code-editor .cm-editor{font:.85rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.image-preview{object-fit:contain;max-width:100%;max-height:360px;margin:.75rem 0;display:block}.version-picker select,.apply-policy select,.apply-action-picker select{appearance:none;background:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%) calc(100% - .85rem) 50% / .35rem .35rem no-repeat, linear-gradient(135deg, var(--text-muted) 50%, transparent 50%) calc(100% - .5rem) 50% / .35rem .35rem no-repeat, var(--bg-elevated);border:1px solid var(--border);color:var(--text);font:inherit;border-radius:.4rem;max-width:min(100%,30rem);padding:.4rem 2rem .4rem .6rem}.file-create textarea,.file-content{resize:vertical;border:1px solid var(--border);background:var(--code-bg);min-height:9rem;color:var(--code-text);border-radius:.4rem;padding:.75rem;font:.85rem/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.file-editor-header,.file-editor-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.file-editor-header h2{overflow-wrap:anywhere;margin:0;font-size:1rem}.file-editor>form{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.file-editor-actions{justify-content:flex-end}.secrets{margin-top:2rem}.secrets h2{font-size:1.1rem}.secret-create{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;max-width:720px;display:grid}.secret-create label{flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.secret-create button{justify-self:start}.secret-list{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.secret-row{border:1px solid var(--border);background:var(--bg-elevated);border-radius:.5rem}.secret-row summary{cursor:pointer;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.secret-scope,.secret-version-count,.secret-version span{color:var(--text-muted);font-size:.85rem}.secret-version-count{margin-left:auto}.secret-body{border-top:1px solid var(--border);padding:.75rem 1rem}.secret-update{align-items:flex-end;gap:.75rem;margin-bottom:.75rem;display:flex}.secret-update label{flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.secret-version{justify-content:space-between;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.secret-version>div:first-child{flex-direction:column;gap:.2rem;display:flex}.secret-version-actions{gap:.5rem;display:flex}.secret-version-actions button{padding:.35rem .65rem;font-size:.85rem}@media (max-width:640px){.files-view{grid-template-columns:1fr}.file-editor-actions{flex-direction:column;align-items:stretch}.secret-create{grid-template-columns:1fr}.secret-row summary,.secret-version,.secret-update{flex-direction:column;align-items:flex-start}.secret-version-count{margin-left:0}}.code-block{background:var(--code-bg);color:var(--code-text);border-radius:.5rem;padding:1rem;font-size:.85rem;line-height:1.5;overflow-x:auto}.code-block code{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.badge{white-space:nowrap;border-radius:999px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.badge-pending{background:var(--warning-bg);color:var(--warning-text)}.badge-approved,.badge-auto_approved{background:var(--success-bg);color:var(--success-text)}.badge-rejected,.badge-apply_failed{background:var(--danger-bg);color:var(--danger)}
