:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17201d;--muted:#69736f;--line:#dce3df;--surface:#fff;--canvas:#f4f7f5;--forest:#173f35;--forest-soft:#dcebe5;--accent:#daff63;--danger:#ad3131;--shadow:0 24px 64px #102b231a;font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--canvas);color:var(--ink);margin:0}button,input,select,textarea{font:inherit}button,.button-link{background:var(--forest);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:12px 18px;font-weight:700;text-decoration:none}button:disabled{cursor:wait;opacity:.65}a{color:inherit}.eyebrow{color:#567268;letter-spacing:.13em;margin:0 0 10px;font-size:12px;font-weight:800}.login-page,.centered-page{justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.login-page{background:radial-gradient(circle at 82% 12%,#daff6359,#0000 28%),linear-gradient(135deg,#102a24 0 49%,#eef4f0 49% 100%)}.login-panel{grid-template-columns:minmax(300px,1fr) minmax(340px,440px);align-items:center;gap:clamp(48px,9vw,128px);width:100%;max-width:1120px;display:grid}.login-copy{color:#fff;max-width:510px}.login-copy .eyebrow{color:var(--accent)}.login-copy h1{letter-spacing:-.06em;margin:0 0 28px;font-size:clamp(48px,7vw,84px);line-height:.95}.login-copy>p:last-child{color:#c9d8d2;font-size:18px;line-height:1.7}.login-card,.message-card,.table-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #ffffffa6;border-radius:20px}.login-card{padding:38px}.login-card h2{margin:0 0 28px;font-size:28px}.login-form{gap:20px;display:grid}.field{gap:8px;display:grid}.field label,.filter-bar label>span{color:#3f4c47;font-size:13px;font-weight:700}.field input,.field select,.field textarea,.filter-bar input,.filter-bar select{color:var(--ink);background:#fff;border:1px solid #cbd5d0;border-radius:10px;min-height:46px;padding:10px 12px}.field textarea{resize:vertical;min-height:104px}.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus{border-color:var(--forest);outline:3px solid #173f351f}.field-error,.form-error{color:var(--danger);margin:0;font-size:13px}.form-error{background:#fff0f0;border-radius:8px;padding:10px 12px}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#102a24;flex-direction:column;padding:28px 20px 20px;display:flex}.brand{align-items:center;gap:12px;padding:0 8px 36px;display:flex}.brand-mark{background:var(--accent);color:#102a24;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:22px;font-weight:900;display:flex}.brand strong,.brand span{display:block}.brand span{color:#9db2aa;margin-top:3px;font-size:11px}.sidebar nav p{color:#738f85;letter-spacing:.12em;margin:0 10px 8px;font-size:11px;font-weight:800}.sidebar nav a{background:#ffffff17;border-radius:9px;padding:12px;font-weight:700;text-decoration:none;display:block}.sidebar nav a+a{margin-top:6px}.sidebar nav .nav-section{margin-top:28px}.logout-form{margin-top:auto}.logout-form button{background:0 0;border:1px solid #436158;width:100%}.workspace{min-width:0;padding:48px clamp(24px,5vw,72px)}.content-section{max-width:1240px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.04em;margin:0 0 8px;font-size:40px}.page-header div>p:last-child{color:var(--muted);margin:0}.page-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.count-badge{background:var(--forest-soft);color:var(--forest);border-radius:999px;padding:9px 14px;font-weight:800}.filter-bar{background:#e9efec;border-radius:14px;grid-template-columns:minmax(240px,1fr) 180px auto;align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.filter-bar label{gap:6px;display:grid}.table-card{overflow:hidden;box-shadow:0 10px 30px #102b230f}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;padding:17px 20px}th{color:#61706a;letter-spacing:.05em;background:#f8faf9;font-size:12px}td{font-size:14px}td strong,td span{display:block}td>span{color:#8a9691;margin-top:5px;font-size:11px}.status{border-radius:999px;margin:0;padding:6px 9px;font-size:12px;font-weight:800;display:inline-block}.status-active{color:#17633a;background:#ddf6e7}.status-inactive{color:#62706a;background:#ecefed}.status-success{color:#17633a;background:#ddf6e7}.status-danger{color:#962626;background:#fff0f0}.status-progress{color:#28599d;background:#e7efff}.status-pending{color:#765613;background:#fff4d4}.empty-cell{color:var(--muted);text-align:center;padding:56px 20px}.pagination{justify-content:flex-end;align-items:center;gap:20px;margin-top:20px;display:flex}.pagination a{color:var(--forest);font-weight:800;text-decoration:none}.pagination>span{color:#a3aca8}.message-card{max-width:600px;padding:40px}.message-card h1{margin:0 0 28px}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form input,.inline-form select{border:1px solid #cbd5d0;border-radius:8px;min-height:40px;padding:8px 10px}.inline-form input{min-width:220px}.domain-create{grid-template-columns:140px minmax(220px,1fr) minmax(220px,1fr) auto}.action-links{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.danger-link{background:var(--danger)}.warning-copy{color:#715414;background:#fff7df;border-radius:10px;padding:14px;line-height:1.6}.audit-filter{background:#e9efec;border-radius:14px;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:18px;padding:16px;display:grid}.audit-filter label{gap:6px;display:grid}.audit-filter label>span{color:#3f4c47;font-size:13px;font-weight:700}.audit-filter input,.audit-filter select{border:1px solid #cbd5d0;border-radius:10px;min-height:42px;padding:8px 10px}.audit-filter button{align-self:end}.detail-grid{grid-template-columns:140px minmax(0,1fr);gap:12px 18px;margin:0 0 28px;display:grid}.detail-grid dt{color:var(--muted);font-weight:700}.detail-grid dd{overflow-wrap:anywhere;margin:0}.operator-detail,.audit-detail{max-width:820px}.danger-button{background:var(--danger)}.mono-cell,.summary-json{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mono-cell{overflow-wrap:anywhere;font-size:12px}.summary-json{color:#dcebe5;white-space:pre-wrap;background:#102a24;border-radius:10px;max-height:440px;padding:18px;overflow:auto}.retention-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:32px;display:grid}.retention-grid .message-card{max-width:none;padding:28px}.destructive-form{gap:18px;display:grid}.destructive-form h2{margin:0}.danger-panel{border-color:#e5a7a7}.confirm-check{align-items:center;gap:8px;display:flex}.success-message{color:#17633a;background:#ddf6e7;border-radius:8px;padding:12px}.lifecycle-panel{background:#e9efec;border-radius:14px;margin-bottom:18px;padding:16px}.lifecycle-delete{max-width:720px;margin-top:24px;padding:28px}.lifecycle-warning{max-width:720px;margin-top:24px}.lifecycle-status{margin-top:24px}.site-detail-card{max-width:820px}.release-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.release-stats article{background:var(--surface);border:1px solid var(--line);border-radius:16px;gap:8px;min-width:0;padding:22px;transition:box-shadow .18s;display:grid;box-shadow:0 8px 24px #102b230d}.release-stats article:hover{box-shadow:0 14px 34px #102b231a}.release-stats span{color:var(--muted);font-size:13px;font-weight:700}.release-stats strong{letter-spacing:-.04em;font-size:30px}.release-stats small{color:#8a9691}.release-filter{grid-template-columns:minmax(240px,1fr) minmax(240px,320px) auto}.release-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin:-8px 0 24px;display:flex}.release-tabs a{border:1px solid var(--line);color:var(--forest);background:#fff;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:800;text-decoration:none}.release-status-large{padding:9px 13px;font-size:13px}.release-create{max-width:900px}.release-create-card{max-width:none;padding:32px}.release-form{gap:22px;display:grid}.release-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.release-wide{grid-column:1/-1}.catalog-summary{border:1px solid var(--line);background:#f2f5f3;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;display:grid}.catalog-summary strong{color:var(--forest);font-size:12px}.catalog-summary p{color:var(--muted);overflow-wrap:anywhere;margin:5px 0 0;font-size:12px;line-height:1.6}.release-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:18px;margin:22px 0 32px;display:grid}.release-panel,.release-action-card,.empty-panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:0;padding:24px;box-shadow:0 8px 24px #102b230d}.release-panel>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.release-panel h2,.release-section h2,.release-action-card h3{letter-spacing:-.025em;margin:0}.release-panel header span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.release-evidence{grid-template-columns:130px minmax(0,1fr);margin-bottom:0}.release-evidence dd{font-size:13px}.lock-diff-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.lock-diff-group{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:18px}.lock-diff-group>strong{color:var(--forest);font-size:13px}.lock-diff-group>p{color:var(--muted);overflow-wrap:anywhere;margin:7px 0;font-size:12px;line-height:1.65}.lock-diff-group>span{color:#17633a;font-size:11px;font-weight:700}.diff-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.diff-chips mark,.diff-chips del{border-radius:7px;padding:5px 7px;font-size:11px;text-decoration:none}.diff-chips mark{color:#17633a;background:#ddf6e7}.diff-chips del{color:#962626;background:#fff0f0}.self-label{background:var(--forest-soft);color:var(--forest);border-radius:999px;margin-left:8px;padding:3px 7px;font-size:11px;font-weight:800;display:inline-block}.panel-note{color:var(--muted);background:#f2f5f3;border-left:3px solid #91a39c;margin:22px 0 0;padding:12px 14px;font-size:13px;line-height:1.6}.no-actions{margin-bottom:0}.gate-list{gap:10px;display:grid}.gate-list>div{border:1px solid var(--line);border-radius:11px;justify-content:space-between;align-items:center;padding:13px;display:flex}.gate-list strong{font-size:13px}.gate-list span{font-size:12px;font-weight:800}.gate-complete{color:#17633a;background:#f0faf4}.gate-pending{color:var(--muted);background:#fafbfa}.release-section{margin-top:34px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:16px;display:flex}.section-heading .eyebrow{margin-bottom:6px}.release-attempts,.release-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.empty-panel{color:var(--muted);text-align:center;grid-column:1/-1}.log-excerpt{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.log-excerpt summary{color:var(--forest);cursor:pointer;font-size:13px;font-weight:800}.log-excerpt pre{color:#dcebe5;white-space:pre-wrap;background:#102a24;border-radius:10px;max-height:280px;padding:14px;font-size:11px;line-height:1.6;overflow:auto}.release-action-card{gap:16px;display:grid}.release-action-card h3{font-size:18px}.release-action-card p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.6}.error-code{color:var(--danger);font-weight:700}.polling-note{color:#28599d;background:#e7efff;border-radius:10px;margin:0 0 16px;padding:10px 12px;font-size:12px;font-weight:700}@media (max-width:820px){.login-page{background:#102a24}.login-panel{grid-template-columns:1fr}.login-copy{display:none}.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto;padding:18px}.brand{padding-bottom:18px}.sidebar nav{display:none}.logout-form{margin-top:0;position:absolute;top:20px;right:18px}.logout-form button{padding:9px 12px}.workspace{padding:32px 18px}.filter-bar,.domain-create,.audit-filter,.retention-grid{grid-template-columns:1fr}.release-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.release-filter,.release-form-grid,.catalog-summary,.release-detail-grid,.lock-diff-grid,.release-attempts,.release-actions{grid-template-columns:1fr}.release-wide{grid-column:auto}.page-header{flex-direction:column;align-items:flex-start;gap:20px}.page-header-actions{flex-wrap:wrap;width:100%}.table-card{overflow-x:auto}table{min-width:720px}}
