.custom-site-dialog { border:1px solid #e1e2ec; border-radius:22px; width:min(850px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:0; color:#191c27; background:#fff; box-shadow:0 28px 90px #17203b38; }
.custom-site-dialog::backdrop { background:#14172b66; backdrop-filter:blur(4px); }
.custom-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px; border-bottom:1px solid #e8e9f2; position:sticky; top:0; z-index:2; background:#fff; }
.custom-head h2 { font-size:24px; margin:5px 0 0; line-height:1.25; letter-spacing:-.6px; }
.custom-eyebrow { color:#6255de; font-size:11px; font-weight:750; }
.custom-close { border:1px solid #dedfeb; border-radius:10px; background:#fff; width:40px; height:40px; font-size:24px; color:#646b7c; flex-shrink:0; cursor:pointer; }
.custom-body { padding:24px 26px; display:grid; gap:18px; }
.custom-lead,.custom-hint,.custom-help p { font-size:13px; line-height:1.6; color:#677187; margin:0; }
.custom-form { display:grid; gap:16px; }
.custom-field { display:grid; gap:7px; min-width:0; font-size:13px; font-weight:650; color:#3c465a; }
.custom-field input,.custom-field textarea,.custom-field select { width:100%; min-width:0; box-sizing:border-box; padding:12px 13px; border:1px solid #dce0ec; border-radius:10px; background:#fff; color:#202638; font:inherit; font-weight:450; }
.custom-field textarea { font-family:ui-monospace,SFMono-Regular,monospace; font-size:12px; line-height:1.6; resize:vertical; min-height:160px; }
.custom-field input:focus,.custom-field textarea:focus,.custom-field select:focus { outline:2px solid #8577ff; outline-offset:2px; }
.custom-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.custom-actions,.custom-tabs,.custom-connected,.custom-connected>div { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.custom-tabs { border-bottom:1px solid #e7e8ef; padding-bottom:12px; }
.custom-tabs .btn:disabled { opacity:1; color:#5748e8; background:#eeecff; border-color:#dcd8ff; }
.custom-site-context { font-weight:700; color:#515a71; overflow-wrap:anywhere; }
.custom-connected { justify-content:space-between; padding:14px; border:1px solid #dce9e4; border-radius:12px; background:#f5fbf8; font-size:12px; color:#147553; }
.custom-note { padding:14px 16px; background:#f6f5fe; border:1px solid #e7e3fd; border-radius:12px; color:#5a5770; font-size:13px; line-height:1.55; margin:0; overflow-wrap:anywhere; }
.custom-note span { display:block; }
.custom-note p { margin:0 0 10px; }
.custom-error { padding:13px 16px; border-radius:10px; background:#fff2f3; border:1px solid #f4d2d7; color:#a23044; line-height:1.5; font-size:13px; margin:0; }
.custom-help { border:1px solid #e7e8ef; padding:13px 15px; border-radius:10px; font-size:13px; }
.custom-help summary { font-weight:650; cursor:pointer; }
.custom-help p { margin-top:10px; }
.custom-success { padding:22px; border:1px solid #d6ebe2; border-radius:15px; background:#f3fbf7; }
.custom-success strong { color:#087552; font-size:22px; overflow-wrap:anywhere; }
.custom-success p { margin-bottom:0; color:#597366; font-size:14px; }
.custom-review { border-top:1px solid #e3e4ef; padding-top:20px; display:grid; gap:15px; }
.custom-review h3 { margin:0; font-size:17px; }
.custom-diff { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid #dfe3ee; border-radius:12px; overflow:hidden; }
.custom-diff>div { min-width:0; padding:14px; background:#fafaff; }
.custom-diff>div+div { border-left:1px solid #dfe3ee; background:#f6fbf8; }
.custom-diff span { font-size:11px; text-transform:uppercase; font-weight:750; color:#737b8e; }
.custom-diff pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:280px; overflow:auto; font-size:12px; line-height:1.6; margin:10px 0 0; }
.custom-approval { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.6; font-weight:600; }
.custom-approval input { width:18px; height:18px; flex:0 0 18px; accent-color:#5945f0; margin-top:2px; }
.custom-history { border:1px solid #e3e5ef; padding:15px; border-radius:12px; }
.custom-history summary { cursor:pointer; font-weight:650; font-size:13px; }
.custom-history button { display:flex; gap:10px; justify-content:space-between; width:100%; text-align:left; background:transparent; border:0; border-top:1px solid #e8e9f1; margin-top:12px; padding:12px 0 0; color:#4e5870; cursor:pointer; }
.custom-history span { font-size:12px; }
.custom-loading { padding:45px 10px; text-align:center; color:#777e8f; }
@media(max-width:600px) { .custom-site-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 20px); border-radius:16px; } .custom-head { padding:18px; } .custom-head h2 { font-size:21px; } .custom-body { padding:18px; } .custom-two,.custom-diff { grid-template-columns:minmax(0,1fr); } .custom-diff>div+div { border-left:0; border-top:1px solid #dfe3ee; } .custom-actions>.btn { flex:1 1 150px; } .custom-form>.btn { width:100%; } }
