
.rocm-wrap{width:100%;max-width:1400px;margin:20px auto;background:#f7f9fc;border:1px solid #e4eaf2;border-radius:16px;box-shadow:0 12px 35px rgba(15,40,70,.12);overflow:hidden;box-sizing:border-box;font-family:inherit;color:#1e293b}
.rocm-header{background:linear-gradient(135deg,var(--rocm-c1),var(--rocm-c2));color:var(--rocm-header-text)!important;padding:24px 28px;display:flex;align-items:center}
.rocm-header h2,.rocm-header p{color:var(--rocm-header-text)!important;margin:0!important}
.rocm-header h2{font-size:27px!important;line-height:1.2!important;font-weight:700!important}
.rocm-header p{margin-top:7px!important;opacity:.95;font-size:14px!important}
.rocm-body{padding:20px}
.rocm-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}
.rocm-btn,.rocm-small,.rocm-upload{border:0;border-radius:9px;padding:10px 14px;background:#fff;color:#07569a;font-weight:600;cursor:pointer;box-shadow:0 3px 10px rgba(15,40,70,.10);font-size:13px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.rocm-btn:hover,.rocm-small:hover,.rocm-upload:hover{transform:translateY(-1px)}
.rocm-btn.active,.rocm-btn.primary{background:#07569a;color:#fff}
.rocm-btn.secondary{background:#eef3f8;color:#334155}
.rocm-upload input{display:none}
.rocm-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:16px}
.rocm-panel,.rocm-chart-panel{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:16px;box-sizing:border-box;min-width:0}
.rocm-panel-head,.rocm-chart-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.rocm-panel h3,.rocm-chart-panel h3{margin:0;color:#12324d;font-size:17px}
.rocm-hint,.rocm-status{font-size:12px;color:#64748b}
.rocm-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:9px}
.rocm-table{border-collapse:collapse;width:100%;min-width:620px}
.rocm-table th,.rocm-table td{border-bottom:1px solid #e8edf3;border-right:1px solid #e8edf3;padding:0}
.rocm-table th{background:#f1f5f9}
.rocm-table input{width:100%;border:0;padding:9px 10px;background:transparent;box-sizing:border-box;outline:none;font:inherit;color:#1e293b}
.rocm-table input:focus{background:#f8fbff;box-shadow:inset 0 0 0 2px #00aeb5}
.rocm-row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.rocm-small{padding:7px 10px;font-size:12px;background:#f1f5f9}
.rocm-options-panel label{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:12px}
.rocm-options-panel input,.rocm-options-panel select{display:block;width:100%;margin-top:5px;border:1px solid #d8e0e8;border-radius:8px;padding:9px;background:#fff;box-sizing:border-box;font:inherit}
.rocm-options-panel select[multiple]{min-height:104px}
.rocm-checks label{font-weight:500;display:flex;align-items:center;gap:7px;margin:8px 0}
.rocm-checks input{width:auto;margin:0}
.rocm-chart-panel{margin-top:16px}
.rocm-chart-head{align-items:flex-start}
.rocm-export{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.rocm-chart-box{position:relative;height:500px;min-height:320px;width:100%}
.rocm-canvas{width:100%!important;height:100%!important}
.rocm-credit{text-align:center;color:#64748b;font-size:12px;padding:15px 0 2px}
@media(max-width:900px){.rocm-grid{grid-template-columns:1fr}.rocm-chart-head{flex-direction:column}.rocm-export{justify-content:flex-start}}
@media(max-width:600px){.rocm-body{padding:12px}.rocm-header{padding:20px}.rocm-header h2{font-size:23px!important}.rocm-chart-box{height:390px}.rocm-toolbar .rocm-btn,.rocm-upload{flex:1 1 auto}.rocm-export .rocm-btn{flex:1 1 45%}}
