/* Keep Velok sidebar, topbar, card and chart appearance native; application layout adapters only. */
body{font-family:"IBM Plex Sans",system-ui,"PingFang TC",sans-serif}[hidden]{display:none!important}button,a{touch-action:manipulation}.dc-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.dc-heading h1{font-size:20px;margin:0;color:var(--bs-body-color)}.dc-heading p{font-size:12px;color:var(--bs-secondary-color);margin:7px 0 0}.dc-health{font-size:11px;color:var(--bs-success)}.dc-scope{display:flex;align-items:center;gap:10px;font-size:12px;white-space:nowrap}.dc-scope select{width:130px}.dc-local-user{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--bs-tertiary-bg)}.dc-workspace-note{font-size:11px;color:var(--bs-secondary-color);padding:28px 20px;line-height:1.9}.dc-mobile-menu{display:none}.dc-top-stat .card-title{margin-bottom:18px}.dc-top-stat h4{font-size:20px;margin:0}.dc-top-stat .dc-stat-icon{width:28px;height:28px;color:var(--bs-primary)}.dc-chart-card .card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom-style:dashed}.dc-chart-card .card-header h5{margin:0;font-size:15px}.dc-chart-card .card-header small{font-size:10px;color:var(--bs-secondary-color)}.dc-chart-caption{font-size:11px;color:var(--bs-secondary-color);text-align:center;margin-bottom:12px}.dc-chart{min-height:280px}.dc-sparkline{min-height:50px;margin-top:22px}.dc-panel{background:var(--bs-secondary-bg);border-radius:var(--bs-border-radius-sm);padding:24px;margin-bottom:20px;box-shadow:var(--bs-box-shadow);min-width:0}.dc-panel h3{font-size:15px;font-weight:600;margin:0 0 20px}.dc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dc-list .dc-panel{margin:0}.dc-source{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bs-secondary-bg);padding:22px;border-radius:var(--bs-border-radius-sm)}.dc-source strong{font-weight:600;font-size:14px;display:block}.dc-meta,.dc-muted{font-size:11px;color:var(--bs-secondary-color);margin-top:6px}.dc-source-actions{display:flex;align-items:flex-end;flex-direction:column;gap:12px}.dc-status{display:inline-block;font-size:10px;padding:4px 7px;border-radius:4px;background:rgba(var(--bs-success-rgb),.15);color:var(--bs-success)}.dc-status.warn{background:rgba(var(--bs-warning-rgb),.15);color:var(--bs-warning)}.dc-status.fail{background:rgba(var(--bs-danger-rgb),.15);color:var(--bs-danger)}.dc-status.neutral{background:rgba(var(--bs-info-rgb),.15);color:var(--bs-info)}.dc-note{padding:14px 16px;background:rgba(var(--bs-info-rgb),.07);border:1px solid rgba(var(--bs-info-rgb),.12);border-radius:5px;margin-bottom:18px;font-size:12px;line-height:1.8;color:var(--bs-secondary-color)}.dc-button{padding:8px 13px;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius-sm);color:var(--bs-body-color);background:transparent;font-size:12px;cursor:pointer;white-space:nowrap}.dc-button.primary{background:var(--bs-primary);border-color:var(--bs-primary);color:#fff}.dc-button:disabled{opacity:.4;cursor:not-allowed}.dc-button:hover:not(:disabled){border-color:var(--bs-primary)}.dc-footer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}input[type=checkbox]{accent-color:var(--bs-primary)}.dc-split{display:grid;grid-template-columns:minmax(200px,.7fr) minmax(0,2fr);gap:20px}.dc-task{width:100%;text-align:left;background:var(--bs-secondary-bg);border:1px solid var(--bs-border-color);padding:15px;border-radius:5px;margin-bottom:10px;font-size:13px;color:var(--bs-body-color);cursor:pointer}.dc-task.selected{border-color:var(--bs-primary);box-shadow:inset 3px 0 var(--bs-primary)}.dc-task span{display:block;font-size:11px;color:var(--bs-secondary-color);margin-top:7px}.dc-schedule-preview{padding:15px;background:var(--bs-body-bg);border-radius:5px;font-size:12px;line-height:1.8;margin:18px 0}.dc-panel p{font-size:11px;color:var(--bs-secondary-color);line-height:1.8}.dc-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.dc-toolbar label{display:flex;gap:8px;align-items:center;font-size:12px}.dc-toolbar select{width:auto;max-width:270px}.dc-toolbar form{display:flex;gap:8px;flex:1;min-width:200px}.dc-table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:12px}th{font-weight:600;text-align:left;color:var(--bs-secondary-color);padding:13px 10px;white-space:nowrap;border-bottom:1px solid var(--bs-border-color)}td{padding:14px 10px;border-bottom:1px solid var(--bs-border-color)}td strong{display:block;font-weight:500}td small{display:block;font-size:10px;color:var(--bs-secondary-color);margin-top:4px}.dc-kv{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:12px;margin:20px 0}.dc-kv span{display:block;color:var(--bs-secondary-color);font-size:11px;margin-bottom:6px}.dc-steps{list-style:none;display:grid;gap:8px;padding:0;font-size:12px}.dc-toast:not(:empty){margin-bottom:18px;padding:12px 16px;border-radius:5px;color:var(--bs-success);background:rgba(var(--bs-success-rgb),.1);font-size:12px}.dc-toast.error{color:var(--bs-danger);background:rgba(var(--bs-danger-rgb),.1)}.dc-paging{display:flex;gap:12px;align-items:center;margin:16px 0;font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bs-body-bg);color:var(--bs-body-color);padding:15px;border-radius:5px;font-size:11px}details{padding:10px 0;border-bottom:1px solid var(--bs-border-color)}summary{font-size:12px;cursor:pointer}.dc-sector-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--bs-border-color)}.dc-sector-row small{display:block;font-size:11px;color:var(--bs-secondary-color);margin-top:5px}.dc-sector-row strong{font-size:13px;font-weight:600}.apexcharts-tooltip{color:#111}
@media(max-width:1040px){.dc-mobile-menu{display:flex}.dc-health{display:none}.dc-list{grid-template-columns:1fr}.dc-split{grid-template-columns:1fr}.dc-tasks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dc-task{margin:0}}
@media(max-width:540px){.page-content{padding:20px!important}.dc-heading>.badge{display:none}.dc-list,.dc-source{align-items:stretch;flex-direction:column}.dc-source-actions{flex-direction:row;align-items:center}.dc-tasks{grid-template-columns:1fr}.dc-button{min-height:42px}.dc-scope select{width:110px}.topbar .navbar-header{gap:10px}.dc-scope{gap:0}.dc-local-user{display:none}}

.dc-drag-handle{cursor:grab;width:50px}.dc-drag-handle svg{width:20px;height:20px}

.main-nav{display:flex;flex-direction:column}.main-logo-box{flex-shrink:0}.dc-nav-scroll{flex:1;min-height:0;overflow:auto}.dc-sidebar-language{flex-shrink:0;padding:16px 20px 20px;border-top:1px solid var(--bs-border-color);display:grid;gap:8px}.dc-language-label{display:flex;align-items:center;gap:12px;margin:0;color:var(--bs-body-color);font-size:13px}.dc-language-label svg{width:18px;height:18px}.dc-sidebar-language select{width:100%;min-width:0}.dc-auth-language{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dc-auth-language select{width:160px}.dc-menu-names{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px;min-width:350px}.sidebar-hover:not(.sidebar-enable) .dc-sidebar-language{padding:12px 6px}.sidebar-hover:not(.sidebar-enable) .dc-language-label span{display:none}
.dc-basic-grid .gridjs-wrapper{box-shadow:none}.dc-menu-grid{width:100%}.dc-menu-grid .gridjs-th{cursor:default}.dc-menu-grid .gridjs-td{vertical-align:middle}.dc-basic-grid .gridjs-search-input{max-width:100%}.dc-table-wrap .gridjs-container{min-width:0}

.dc-form-card{min-width:0}.dc-list .dc-form-card{margin-bottom:0}.dc-form-card .dc-status{margin-bottom:20px}.dc-permissions{gap:12px 24px}.dc-menu-names .form-label{margin-bottom:0}.dc-menu-names .form-control{min-width:0}.dc-form-card .form-text{line-height:1.7}.dc-form-card .dc-footer-actions{margin-top:24px}

/* Use readable absolute sizes for native pickers on narrow screens and touch devices. */
@media (max-width:767.98px), (hover:none) and (pointer:coarse){
 select.form-select,select.form-select-sm,.dc-auth-language select,.dc-sidebar-language select{font-size:16px;line-height:1.5;min-height:44px;padding-top:9px;padding-bottom:9px}
 select option,select optgroup{font-family:inherit;font-size:16px;font-weight:400;line-height:1.5}
}

.dc-signin .dc-language-label{display:none}
.dc-signin .dc-auth-language{justify-content:flex-end}
.dc-locale-picker{position:relative;width:100%;min-width:0}.dc-auth-language .dc-locale-picker{width:160px}.dc-locale-trigger{text-align:left;width:100%;font-size:16px;line-height:1.5;min-height:44px;cursor:pointer}.dc-locale-options{position:absolute;top:calc(100% + 6px);right:0;width:100%;min-width:160px;max-height:280px;overflow-y:auto;background:var(--bs-secondary-bg);border:1px solid var(--bs-border-color);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.3);padding:6px;z-index:1080}.dc-locale-up .dc-locale-options{top:auto;bottom:calc(100% + 6px)}.dc-locale-options button{display:block;width:100%;min-height:40px;padding:8px 12px;text-align:left;border:0;background:transparent;color:var(--bs-body-color);border-radius:4px;font-size:16px;line-height:1.5;cursor:pointer}.dc-locale-options button:hover,.dc-locale-options button:focus-visible{background:var(--bs-tertiary-bg);outline:2px solid var(--bs-primary);outline-offset:-2px}.dc-locale-options button[aria-selected=true]{background:rgba(var(--bs-primary-rgb),.15);color:var(--bs-primary);font-weight:600}
.dc-industry-picker{width:150px}.dc-mobile-menu{display:none!important}.dc-locale-trigger span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1040px){.dc-mobile-menu{display:flex!important;align-items:center;justify-content:center;width:36px;height:36px;padding:0;flex-shrink:0}.dc-mobile-menu .button-sm-hover-icon{display:block!important;width:20px;height:20px}.topbar .navbar-header>.d-flex:last-child{gap:10px!important}}
@media(max-width:540px){.dc-industry-picker{width:140px}}
.dc-industry-picker .dc-locale-options{min-width:0}
/* Vue components preserve Velok controls without DOM mutation adapters. */
.dc-filter-picker{width:240px;max-width:100%}.dc-basic-grid .gridjs-td{white-space:pre-line}.dc-auth-language{justify-content:flex-end}.dc-locale-picker{isolation:isolate}.dc-locale-picker:has(.dc-locale-options){z-index:1080}.dc-form-card .row .dc-locale-picker{width:100%}.dc-menu-names .form-label{font-size:11px}.dc-locale-options{max-width:100%}
@media(max-width:540px){.dc-toolbar form{flex-basis:100%}.dc-filter-picker{width:100%}}

.dc-modal-shade{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.65);overflow-y:auto;padding:24px 12px;display:flex;align-items:flex-start;justify-content:center}.dc-modal-dialog{width:100%;margin:24px auto}.dc-modal-dialog .modal-content{background:#272f36;color:#b0beca;border:1px solid #3d4c59}.dc-modal-dialog .modal-header{border-color:#3d4c59}.dc-modal-dialog .btn-close{filter:invert(1)}@media(max-width:575px){.dc-modal-shade{padding:8px}.dc-modal-dialog{margin:8px auto}.dc-modal-dialog .modal-body{padding:20px}}
.dc-modal-dialog .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #3d4c59}.dc-modal-dialog .modal-title{margin:0;font-size:18px;font-weight:600}.dc-modal-dialog .modal-body{padding:24px}.dc-modal-dialog .btn-close{border:0;background:transparent;color:#b0beca;filter:none;font-size:22px;line-height:1;width:32px;height:32px;padding:0;cursor:pointer}.dc-modal-dialog .btn-close:before{content:'×'}.dc-modal-dialog .modal-content{border-radius:6px;box-shadow:0 16px 60px #0007}
/* Velok ui-modal.html: Static Backdrop. Vue owns show/hide; background and Escape do not dismiss. */
.dc-static-modal{display:block;overflow-y:auto;z-index:1100}.dc-static-modal .modal-dialog{pointer-events:auto}.dc-static-modal .modal-footer{padding:16px 0 0;border-top:1px solid #3d4c59}.dc-static-modal .modal-dialog{max-width:800px;width:calc(100% - 24px)}@media(max-width:575px){.dc-static-modal .modal-dialog{width:calc(100% - 16px)}}
.dc-basic-table .gridjs-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dc-basic-table .gridjs-head .gridjs-search{float:none}.dc-grid-toolbar{margin-left:auto;display:flex;align-items:center}.dc-grid-toolbar:empty{display:none}
.dc-basic-table .gridjs-head .dc-grid-toolbar .btn{padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);background-color:var(--bs-btn-bg);border:var(--bs-btn-border-width) solid var(--bs-btn-border-color)}.dc-basic-table .gridjs-head .dc-grid-toolbar .btn:hover{background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}
/* Keep search and its action in one row at mobile widths. */
.dc-basic-table .gridjs-head:has(.dc-grid-toolbar){flex-wrap:nowrap;gap:12px}
.dc-basic-table .gridjs-head:has(.dc-grid-toolbar) .gridjs-search{flex:1 1 250px;min-width:0;max-width:250px;width:auto}
.dc-basic-table .gridjs-head:has(.dc-grid-toolbar) .gridjs-search-input{width:100%;min-width:0;box-sizing:border-box}
.dc-basic-table .gridjs-head .dc-grid-toolbar{flex:0 0 auto}
.dc-basic-table .gridjs-head .dc-grid-toolbar .btn{white-space:nowrap}
@media(max-width:575px){.dc-basic-table .gridjs-head:has(.dc-grid-toolbar){gap:8px}.dc-basic-table .gridjs-head:has(.dc-grid-toolbar) .gridjs-search{flex-basis:0;max-width:none}}
