#icecast-dashboard { padding-bottom: 30px; }
.dashboard-toolbar { margin-bottom: 18px; border-top: 3px solid #428bca; }
.dashboard-toolbar label { display:block; color:#666; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.dashboard-custom-period { display:none; margin-top:12px; }
.dashboard-hour-filter { display:flex; align-items:stretch; width:100%; max-width:190px; }
.dashboard-hour-filter select.form-control { position:relative; flex:1 1 0; width:0; min-width:70px; padding-left:6px; padding-right:6px; }
.dashboard-hour-filter select:first-child { border-radius:4px 0 0 4px; }
.dashboard-hour-filter select:last-child { border-radius:0 4px 4px 0; }
.dashboard-hour-separator { display:flex; flex:0 0 34px; align-items:center; justify-content:center; height:34px; margin:0 -1px; color:#555; background:#eee; border:1px solid #ccc; }
.dashboard-groups .btn { overflow:hidden; text-overflow:ellipsis; }
.dashboard-groups .dashboard-status-dot { margin-right:7px; }
.dashboard-single-group { height:34px; padding:7px 12px; color:#37474f; background:#f7f8f9; border:1px solid #d8dde0; border-radius:4px; font-weight:600; }
.dashboard-groups .dashboard-group-offline .dashboard-status-dot { background:#d9534f; animation:none; box-shadow:none; }
.dashboard-groups .dashboard-group-partial .dashboard-status-dot { background:#f0ad4e; animation:dashboard-status-pulse-warning 1.5s ease-out infinite; }
@keyframes dashboard-status-pulse-warning { 0% { box-shadow:0 0 0 0 rgba(240,173,78,.65); } 70%,100% { box-shadow:0 0 0 7px rgba(240,173,78,0); } }
.dashboard-status { margin-top:10px; min-height:20px; font-size:12px; }
.dashboard-spinner { display:inline-block; width:12px; height:12px; margin-right:6px; border:2px solid #ddd; border-top-color:#428bca; border-radius:50%; animation:dashboard-spin .7s linear infinite; vertical-align:-2px; }
@keyframes dashboard-spin { to { transform:rotate(360deg); } }
.dashboard-kpis { margin-left:-8px; margin-right:-8px; }
.dashboard-kpis > div { padding-left:8px; padding-right:8px; margin-bottom:16px; }
.dashboard-kpi { position:relative; min-height:126px; padding:17px 14px 12px 58px; overflow:hidden; color:#37474f; background:#fff; border:1px solid #ddd; border-radius:4px; box-shadow:0 1px 2px rgba(0,0,0,.04); }
.dashboard-kpi-icon { position:absolute; left:16px; top:21px; color:#9eabb1; font-size:28px; }
.dashboard-kpi-value { display:block; font-size:29px; font-weight:500; line-height:1.05; color:#263238; }
.dashboard-kpi-label { display:block; margin-top:6px; color:#68777e; font-size:12px; text-transform:uppercase; }
.dashboard-kpi small { display:block; margin-top:7px; color:#999; white-space:nowrap; }
.dashboard-delta-label { font-weight:400; }
.dashboard-kpi.kpi-live { border-color:#5cb85c; background:linear-gradient(135deg,#fff 55%,#eff9ef); }
.dashboard-kpi.kpi-live .dashboard-kpi-icon,.dashboard-kpi.kpi-live .dashboard-kpi-value { color:#3c9b3c; }
.dashboard-delta-up { color:#3c9b3c !important; }
.dashboard-delta-down { color:#d9534f !important; }
.dashboard-tabs { margin-top:4px; }
.dashboard-tabs > li.active { position:relative; z-index:2; margin-bottom:-1px; }
.dashboard-tabs > li.active > a,
.dashboard-tabs > li.active > a:hover,
.dashboard-tabs > li.active > a:focus { border-bottom-color:#fff !important; }
.dashboard-tabs > li.active:after { position:absolute; z-index:3; left:1px; right:1px; bottom:-1px; height:2px; background:#fff; content:''; pointer-events:none; }
.dashboard-tab-content { padding-top:18px; }
.dashboard-panel .panel-heading { background:#fafafa; }
.chart-large { position:relative; height:340px; }
.chart-medium { position:relative; height:360px; }
.dashboard-heatmap { min-width:920px; margin-bottom:0; table-layout:fixed; }
.dashboard-heatmap th { text-align:center; font-size:11px; color:#777; }
.dashboard-heatmap th:first-child { width:72px; text-align:left; }
.dashboard-heatmap td { height:31px; padding:4px !important; text-align:center; font-size:10px; border:2px solid #fff !important; border-radius:4px; }
.dashboard-table { margin-bottom:0; }
.dashboard-table th { white-space:nowrap; background:#fafafa; }
.dashboard-table td { vertical-align:middle !important; }
.dashboard-inline-check { margin:0; color:#777; font-size:11px; font-weight:400; cursor:pointer; }
.dashboard-inline-check input { margin:0 4px 0 0; vertical-align:-2px; }
.dashboard-title-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.dashboard-title-controls { display:flex; align-items:center; gap:7px; }
.dashboard-title-controls label { margin:0; color:#777; font-size:11px; font-weight:400; }
.dashboard-title-controls > .form-control { width:72px; }
.dashboard-title-toolbar .input-group { width:300px; margin-left:8px; }
.dashboard-csv-export { white-space:nowrap; }
.dashboard-table-footer { display:flex; align-items:center; justify-content:space-between; min-height:49px; padding:8px 12px; border-top:1px solid #ddd; background:#fafafa; }
.dashboard-table-footer .btn.disabled { color:#66757c; opacity:1; cursor:default; }
.dashboard-external-icon { margin-left:4px; font-size:10px; }
.dashboard-sortable th[data-sort],.dashboard-sortable th[data-agent-sort],.dashboard-sortable th[data-referer-sort],.dashboard-sortable th[data-stream-sort] { position:relative; padding-right:20px !important; cursor:pointer; user-select:none; }
.dashboard-sortable th[data-sort]:after,.dashboard-sortable th[data-agent-sort]:after,.dashboard-sortable th[data-referer-sort]:after,.dashboard-sortable th[data-stream-sort]:after { position:absolute; right:7px; color:#bbb; content:'↕'; }
.dashboard-sortable th.dashboard-sort-asc:after { color:#428bca; content:'▲'; }
.dashboard-sortable th.dashboard-sort-desc:after { color:#428bca; content:'▼'; }
.dashboard-session-summary { margin-bottom:18px; }
.dashboard-session-summary > div { padding-top:12px; padding-bottom:12px; text-align:center; border-right:1px solid #eee; }
.dashboard-session-summary > div:last-child { border-right:0; }
.dashboard-session-summary strong { display:block; color:#37474f; font-size:24px; font-weight:500; }
.dashboard-session-summary span { display:block; color:#888; font-size:11px; text-transform:uppercase; }
.dashboard-summary-five > div { float:left; width:20%; }
.dashboard-summary-five:before,.dashboard-summary-five:after { display:table; content:" "; }
.dashboard-summary-five:after { clear:both; }
.dashboard-geo-empty { margin-top:90px; }
.dashboard-geo-attribution { margin:4px 0 0; text-align:right; font-size:10px; }
.dashboard-geolocation-overview { padding:0; }
.dashboard-geolocation-overview > .row { margin:0; }
.dashboard-geolocation-overview > .row > div { padding:0; }
.dashboard-world-map-body { position:relative; min-height:360px; padding:8px 12px 32px; overflow:hidden; }
.dashboard-world-map { width:100%; height:320px; }
.dashboard-world-map-wide-body { min-height:500px; }
.dashboard-world-map-wide { height:460px; }
.dashboard-country-share { min-height:500px; padding:18px 15px 12px; border-left:1px solid #eee; }
.dashboard-country-share h4 { margin:0 0 8px; color:#546e7a; text-align:center; font-size:14px; font-weight:600; }
.dashboard-country-share-chart { position:relative; height:440px; }
.dashboard-world-map .jvm-zoom-btn { display:flex; align-items:center; justify-content:center; width:24px; height:24px; padding:0; color:#455a64; background:#fff; border:1px solid #ccd5da; border-radius:3px; line-height:1; box-shadow:0 1px 2px rgba(0,0,0,.08); }
.dashboard-map-legend { position:absolute; right:14px; bottom:9px; display:flex; align-items:center; gap:6px; color:#7b888e; font-size:10px; }
.dashboard-map-legend i { display:block; width:120px; height:8px; border-radius:5px; background:linear-gradient(90deg,#006837,#1a9850,#66bd63,#a6d96a,#d9ef8b,#ffffbf,#fee08b,#fdae61,#f46d43,#d73027,#a50026); }
.dashboard-provider-prompt { position:absolute; left:20px; right:20px; top:50%; margin:0; transform:translateY(-50%); }
.dashboard-providers-body { position:relative; }
.dashboard-detail-cell { min-width:320px; max-width:760px; overflow-wrap:anywhere; word-break:break-word; }
@media (max-width:767px) {
	.dashboard-summary-five > div { width:50%; }
	.dashboard-summary-five > div:last-child { width:100%; }
	.dashboard-world-map-body { min-height:300px; }
	.dashboard-world-map { height:260px; }
	.dashboard-world-map-wide-body { min-height:330px; }
	.dashboard-world-map-wide { height:290px; }
	.dashboard-country-share { min-height:340px; border-top:1px solid #eee; border-left:0; }
	.dashboard-country-share-chart { height:300px; }
	.dashboard-map-legend i { width:80px; }
	.dashboard-detail-cell { min-width:240px; }
}
.dashboard-inactive { opacity:.48; }
.dashboard-status-dot { display:inline-block; width:13px; height:13px; margin-right:7px; border-radius:50%; background:#aaa; vertical-align:-2px; }
.dashboard-status-dot.active { background:#5cb85c; animation:dashboard-status-pulse 1.5s ease-out infinite; }
@keyframes dashboard-status-pulse { 0% { box-shadow:0 0 0 0 rgba(92,184,92,.65); } 70%,100% { box-shadow:0 0 0 7px rgba(92,184,92,0); } }
.dashboard-live-inactive { background:#fff1f0; color:#8a3431; }
.dashboard-live-inactive .dashboard-status-dot { background:#d9534f; box-shadow:0 0 0 3px rgba(217,83,79,.13); }
.dashboard-live-row { cursor:pointer; }
.dashboard-live-row:hover { background:#f5f9fc !important; }
.dashboard-live-toggle { width:32px; min-width:32px; white-space:nowrap; text-align:center; }
.dashboard-stream-check-heading,.dashboard-stream-check { width:58px; min-width:58px; text-align:center; white-space:nowrap; }
.dashboard-stream-check input { margin:0; cursor:pointer; }
.dashboard-single-mount .dashboard-stream-check { display:none; }
.dashboard-streams-heading { position:relative; }
.dashboard-stream-selection { margin-left:18px; color:#6f7e85; font-size:11px; font-weight:400; }
.dashboard-live-toggle > .glyphicon { width:18px; margin-right:6px; color:#89969c; transition:transform .15s ease; }
.dashboard-live-open .dashboard-live-toggle > .glyphicon { transform:rotate(90deg); }
.dashboard-live-detail td { padding:14px 20px !important; background:#f7f9fa; border-top:0 !important; }
.dashboard-live-detail dl { margin:0; }
.dashboard-live-detail dt { margin-top:5px; color:#78909c; font-size:10px; text-transform:uppercase; }
.dashboard-live-detail dd { margin-bottom:7px; overflow-wrap:anywhere; }
.dashboard-title-cell { max-width:520px; white-space:normal; }
.dashboard-nowrap { white-space:nowrap; }
@media (max-width:767px) {
	.dashboard-presets { margin-bottom:10px; }
	.dashboard-hour-column { margin-top:12px; }
	.dashboard-kpi { min-height:110px; padding-left:46px; }
	.dashboard-kpi-icon { left:12px; font-size:22px; }
	.dashboard-kpi-value { font-size:23px; }
	.chart-large,.chart-medium { height:280px; }
	.dashboard-title-toolbar { display:block; }
	.dashboard-title-controls { margin-top:9px; flex-wrap:wrap; }
	.dashboard-title-toolbar .input-group { width:100%; margin:2px 0 0; }
	.dashboard-table-footer { align-items:flex-start; flex-direction:column; gap:7px; }
	.dashboard-table-footer .btn { padding-left:7px; padding-right:7px; }
	.dashboard-stream-selection { display:block; margin:5px 0 0; }
}
