.esw-root{gap:var(--sp-4);flex-direction:column;display:flex}.esw-state{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-alt);flex-wrap:wrap;display:flex}.esw-state__dirty{color:var(--warning-fg);font-weight:var(--fw-medium)}.esw-state__saved{color:var(--text-muted)}.esw-sec{align-items:flex-start;gap:var(--sp-3);flex-wrap:wrap;display:flex}.esw-sec>.grow{min-width:240px}.esw-sec__title{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:var(--fw-semibold)}.esw-grid{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.esw-wide{grid-column:1/-1}.esw-sources{gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.esw-source{gap:var(--sp-1);padding:var(--sp-4);text-align:left;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;flex-direction:column;display:flex}.esw-source:hover{background:var(--surface-hover)}.esw-source:focus-visible{box-shadow:var(--focus-ring);outline:none}.esw-source.is-on{border-color:var(--primary);background:var(--primary-tint)}.esw-source:disabled{cursor:not-allowed;opacity:.5}.esw-source__title{font-weight:var(--fw-semibold)}.esw-source__pick{margin-top:var(--sp-1);font-size:var(--fs-small);color:var(--text-muted)}.esw-source.is-on .esw-source__pick{color:var(--primary-dark)}.esw-integration{align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.esw-integration>.grow{min-width:240px}.esw-integration__actions{gap:var(--sp-2);flex-wrap:wrap;align-items:center;margin-left:auto;display:flex}.esw-roles{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.esw-role{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.esw-role--off{background:var(--surface-alt);border-style:dashed}.esw-role--off .esw-role__title,.esw-role--off .esw-role__duty{color:var(--text-faint)}.esw-role--bad{border-color:var(--danger)}.esw-role__head{align-items:flex-start;gap:var(--sp-3);display:flex}.esw-role__title{font-weight:var(--fw-semibold)}.esw-role__duty{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--text-muted)}.esw-role__delegate{padding-top:var(--sp-3);border-top:1px solid var(--border)}.esw-table td{vertical-align:middle}.esw-table .input,.esw-table .select{min-width:120px}.esw-table .esw-num{max-width:140px}.esw-row--off td,.esw-row--off .esw-role__title{color:var(--text-faint)}.esw-bases{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.esw-base{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.esw-base--low{border-color:var(--warning-fg)}.esw-base__head{align-items:center;gap:var(--sp-3);display:flex}.esw-base__count{font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);font-weight:var(--fw-semibold)}.esw-base__actions{gap:var(--sp-2);flex-wrap:wrap;margin-top:auto;display:flex}.esw-materials{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.esw-material{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;display:flex}.esw-files{gap:var(--sp-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.esw-file{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);font-size:var(--fs-small);display:flex}.esw-file__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.esw-foot{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-wrap:wrap;display:flex}.esw-foot__actions{gap:var(--sp-2);margin-left:auto;display:flex}.esw-results{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.esw-result{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);display:flex}.esw-result--block{border-color:var(--danger);background:var(--danger-bg)}.esw-result--warn{border-color:var(--warning-fg)}.esw-result__tab{min-width:96px;font-size:var(--fs-small);color:var(--text-muted);flex:none}@media (width<=900px){.esw-grid{grid-template-columns:1fr}}
