.csc-workbench { min-height: 650px; height: calc(100vh - 278px); display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 10px; color: #17324d; }
.csc-layout { min-height: 0; display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 10px; }
.csc-form-panel, .csc-table-panel { min-height: 0; box-sizing: border-box; border: 1px solid #cfdbea; border-radius: 8px; background: #fff; box-shadow: 0 4px 14px rgba(41, 72, 107, .06); }
.csc-form-panel { padding: 14px; overflow: auto; }
.csc-workbench h3 { margin: 0 0 10px; font-size: 16px; color: #183b5b; }
.csc-form-panel label { display: grid; gap: 5px; margin-bottom: 9px; font-size: 13px; font-weight: 600; color: #526b83; }
.csc-form-panel input { width: 100%; box-sizing: border-box; border: 1px solid #b9c9db; border-radius: 5px; padding: 8px 9px; font: inherit; color: #17324d; }
.csc-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.csc-actions button { border: 1px solid #b9c9db; border-radius: 5px; padding: 8px 16px; color: #17324d; background: #fff; font-weight: 700; cursor: pointer; }
.csc-actions .csc-primary { color: #fff; background: #1769aa; border-color: #1769aa; }
.csc-actions .csc-danger { color: #a52828; background: #fff1f2; border-color: #f4a7ac; }
.csc-actions button:disabled { opacity: .5; cursor: not-allowed; }
.csc-table-panel { display: grid; grid-template-rows: auto minmax(0, 1fr); padding: 14px; }
.csc-table-scroll { min-height: 0; overflow: auto; border: 1px solid #d8e1eb; }
.csc-table-panel table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 13px; }
.csc-table-panel th { position: sticky; top: 0; z-index: 1; padding: 9px 10px; text-align: left; color: #38556f; background: #edf3f8; border-bottom: 1px solid #ccd9e6; }
.csc-table-panel td { padding: 9px 10px; border-bottom: 1px solid #e5ebf1; vertical-align: top; }
.csc-table-panel tbody tr { cursor: pointer; }
.csc-table-panel tbody tr:hover, .csc-table-panel tbody tr.selected { background: #eaf5ff; }
.csc-name { min-width: 240px; white-space: normal; }
.csc-empty { text-align: center; color: #778a9d; padding: 28px !important; }
.csc-status, .csc-error { border: 1px solid #c8d8e8; border-radius: 6px; padding: 9px 12px; background: #f4f8fb; font-size: 13px; }
.csc-error { display: grid; gap: 3px; margin-bottom: 8px; color: #9f2929; border-color: #f0b9b9; background: #fff4f4; }
@media (max-width: 1050px) { .csc-workbench { height: auto; } .csc-layout { grid-template-columns: 1fr; } .csc-table-panel { min-height: 500px; } }
