:root{color-scheme:light;--ink:#35495e;--muted:#687b87;--line:#dce7e2;--accent:#247653;--vue:#42b883;--soft:#eaf7f0;--danger:#ac343e;--window-bg:#f5f9f7}
*{box-sizing:border-box}
body{margin:0;background:#f1f6f3;color:var(--ink);font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}
.dashboard{padding-bottom:20px}.boot{padding:40px;text-align:center;color:var(--muted)}
.top{max-width:1440px;margin:24px auto 16px;padding:26px 32px;background:#35495e;color:#fff;border-top:5px solid var(--vue);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 7px 22px #35495e12}
.top h1{margin:8px 0;font-size:27px}.top p{margin:0;color:#d4e9df}.badge,.local{font-size:12px}.badge{background:var(--vue);color:#153e2d;padding:5px 10px;border-radius:6px;font-weight:700}.local{color:#d4e9df;white-space:nowrap}
main,.connection,.tabs,.notice{max-width:1440px;margin-left:auto;margin-right:auto}
.card{padding:22px 26px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:16px}
h2{font-size:18px;margin:0 0 7px}h3{font-size:14px;margin:0}p{margin:0 0 16px;color:var(--muted)}
.hint{font-size:12px;color:var(--muted);margin:9px 0}.muted{color:var(--muted)}
label{display:block;font-size:12px;margin:0 0 5px;color:var(--muted)}
.labelled>span{display:block;margin-bottom:5px}.labelled input,.labelled textarea{display:block}
input,textarea,select{font:inherit;border:1px solid #c7d8cf;border-radius:7px;background:#fff;color:var(--ink);padding:9px 10px;min-width:0}
input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea{width:100%}
textarea{resize:vertical;line-height:1.7;font-family:Consolas,"Microsoft YaHei",monospace}
input:focus,textarea:focus,select:focus{outline:2px solid var(--vue);outline-offset:1px}
button,.file-button{font:inherit;cursor:pointer;padding:9px 15px;border:1px solid transparent;border-radius:7px;background:var(--vue);color:#133d2b;font-weight:700;white-space:nowrap}
button:hover{filter:brightness(.95)}button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button:disabled{opacity:.45;cursor:not-allowed}.secondary,.file-button{background:#fff;border-color:var(--line);color:var(--ink)}.secondary:hover{border-color:var(--vue);background:var(--soft)}.danger{background:var(--danger);color:#fff}
.check,.radio{display:flex;align-items:center;gap:7px;margin:0;color:var(--ink);font-size:13px}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px;min-width:16px;flex:none}
.connection{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:16px 24px}.connection .labelled:first-child{flex:1;max-width:380px}.connection .labelled:nth-child(2){min-width:70px}.connection .check{align-self:center}
.credential-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;flex-basis:100%;padding-top:14px;border-top:1px solid var(--line)}.password-help{flex-basis:100%;font-size:12px;margin:0;line-height:1.7}
.row,.actions,.selection-toolbar,.search-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.row{margin-bottom:12px}.actions{margin:16px 0}.grow{flex:1;min-width:240px}
.section-title{display:flex;align-items:start;justify-content:space-between;gap:16px}.section-title p{font-size:12px}.pill{background:var(--soft);color:var(--accent);padding:4px 10px;border-radius:20px;white-space:nowrap}
.tabs{display:flex;gap:8px;padding:0 0 14px;overflow:auto}.tabs button{background:transparent;color:var(--muted)}.tabs .active{color:#153e2d;border-color:var(--vue);background:var(--vue);box-shadow:0 3px 10px #42b88322}
.add-sites{border:1px dashed #b6d2c3;background:#fafdfb;border-radius:10px;margin:16px 0;padding:14px}.add-sites summary{font-weight:600;cursor:pointer;color:var(--accent)}.add-sites textarea{margin-top:13px}
.domain-search{border:1px solid #bcdccc;border-left:4px solid var(--vue);background:#f6fbf8;border-radius:9px;padding:16px;margin:18px 0}.search-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:9px}.search-heading h3{color:var(--ink)}.search-heading .hint{margin:0}.domain-search textarea{min-height:75px;background:#fff}.search-controls{margin-top:10px}.search-controls .hint{margin:0;flex:1;min-width:180px}
.selection-toolbar{padding:8px 0;border-bottom:1px solid var(--line)}.selection-toolbar .hint{margin:0}.toolbar-more{font-size:12px;position:relative}.toolbar-more summary{cursor:pointer;color:var(--muted)}.toolbar-more button{display:block;margin-top:7px}
.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:12px 0;color:var(--muted);font-size:12px}.pagination>span{margin-right:auto}.pagination .labelled{display:flex;align-items:center;gap:7px;margin:0}.pagination .labelled>span{margin:0}.pagination button{font-size:12px;padding:6px 11px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;margin-top:14px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f2f8f4;color:#526b60;font-weight:600}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdfc}td:first-child{min-width:200px}
td .value{max-width:340px;max-height:110px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}td button{padding:5px 9px;margin:0 4px 5px 0;font-size:12px}
.site-table th:first-child,.site-table td:first-child{min-width:70px;width:70px}.site-table td:nth-child(2){min-width:210px}.site-table a{color:var(--accent);text-decoration:none;overflow-wrap:anywhere}.site-table a:hover{text-decoration:underline}.site-table td>.value{max-width:300px}
.table-actions{min-width:190px}.row-more{margin-top:4px}.row-more summary{color:var(--muted);font-size:12px;cursor:pointer;margin-bottom:5px}.row-more button{display:block}.time{display:block;font-size:11px;color:var(--muted);margin-top:5px;white-space:nowrap}
.code-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-width:590px;max-height:100px;overflow:auto;font:12px/1.6 Consolas,monospace}.ok{color:#247653}.bad{color:#a62e38}.empty{padding:12px;color:var(--muted);font-size:13px}
.notice{margin-top:0;margin-bottom:16px;background:var(--soft);border:1px solid #b6d9c7;border-radius:9px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;white-space:pre-wrap}.notice.error{background:#fff2f2;color:#a3313a;border-color:#e7b7b7}.notice-close{background:transparent;color:inherit;padding:0 7px;font-size:22px}
.segmented{display:flex;gap:8px;margin:18px 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin-top:16px}.field .check{margin-bottom:7px;font-size:13px;font-weight:600}.field textarea{min-height:74px}.field.wide{grid-column:1/-1}.field input[type=checkbox]{margin:0}
.preview-list{margin-top:18px}.diff{margin:12px 0;padding:14px;border:1px solid var(--line);border-radius:8px}.diff summary{font-weight:600;cursor:pointer;overflow-wrap:anywhere}.diff-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.diff h3{font-size:13px;margin:14px 0 4px}.diff pre,dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.6 Consolas,"Microsoft YaHei",monospace;margin:8px 0;background:#f5f9f7;padding:12px;border-radius:6px;max-height:300px;overflow:auto}
.progress-card progress{width:100%;height:10px;accent-color:var(--accent)}.progress-card .row{justify-content:space-between}.progress-card .actions{margin:0}.progress-card strong{font-size:13px}
.edit-window{padding:0;width:min(1050px,94vw);max-width:1050px;max-height:90vh;border-radius:14px;border:1px solid #b8cfc2;box-shadow:0 22px 90px #35495e55;overflow:auto;background:white}.edit-window::backdrop{background:#35495e88}
.window-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:14px;background:white;border-top:4px solid var(--vue);border-bottom:1px solid var(--line);padding:18px 24px}.window-head h2{font-size:20px;margin:4px 0}.eyebrow{font-size:11px;letter-spacing:.1em;color:var(--accent)}.close-window{background:transparent;color:var(--muted);font-size:28px;line-height:1;padding:7px 9px}
.window-body{padding:20px 24px}.window-url{background:var(--window-bg);border:1px solid var(--line);padding:11px 14px;border-radius:7px;font-family:Consolas,monospace;overflow-wrap:anywhere;margin-bottom:15px}.window-body .notice{margin:0 0 14px;max-width:none;display:block}.window-body .row .labelled{flex:1}.window-body>.card{padding:0;border:0;margin:0}.window-body .hint{line-height:1.7}
.window-footer{position:sticky;bottom:0;z-index:3;background:#f5f9f7;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;padding:14px 24px;color:var(--ink);text-align:right}.window-footer button{min-width:90px}.edit-window .detail-text{max-height:65vh;font:12px/1.7 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f9f7;border-radius:8px;padding:16px;overflow:auto}.edit-window .field input:not([type=checkbox]),.edit-window .field textarea{width:100%}.edit-window .field textarea{min-height:70px}.edit-window .field.wide textarea{min-height:95px}.edit-window .window-body pre{max-height:260px;overflow:auto}
.page-footer{text-align:center;color:var(--muted);font-size:12px;margin:10px auto 20px;padding:10px 20px 30px}[hidden]{display:none!important}
@media(max-width:1480px){main,.top,.connection,.tabs,.notice{margin-left:20px;margin-right:20px}}
@media(max-width:800px){main,.top,.connection,.tabs,.notice{margin-left:10px;margin-right:10px}.top{padding:22px;display:block}.local{display:block;margin-top:14px}.connection{flex-wrap:wrap;align-items:center}.connection .labelled:first-child{flex-basis:100%;max-width:none}.fields,.diff-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.card{padding:18px}.tabs button{font-size:13px;padding:8px 10px}.section-title{flex-wrap:wrap}.edit-window{width:96vw;max-height:94vh}.window-head,.window-body{padding:16px}.window-footer{padding:12px 16px;flex-wrap:wrap}.window-footer button{flex:1;min-width:85px}.pagination{gap:8px}.pagination>span{width:100%}.segmented{flex-wrap:wrap}.search-heading{align-items:start;flex-direction:column;gap:4px}.selection-toolbar .hint{flex-basis:100%}.domain-search{padding:13px}.search-controls .hint{flex-basis:100%}}
.account-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px}
.account-actions a{color:#a6f1d3;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
