/* ============================================================
CSI 中国食糖现货价格指数系统 - 绿色主题完整替换版
============================================================ */
:root{
  --csi-primary:#1B7F4B;
  --csi-primary-dark:#0F5F36;
  --csi-primary-light:#43A86A;
  --csi-primary-gradient:linear-gradient(135deg,#1B7F4B 0%,#43A86A 100%);
  --csi-primary-bg:#EAF7EF;
  --csi-dark:#173528;
  --csi-dark-light:#23513D;
  --csi-dark-gradient:linear-gradient(135deg,#173528 0%,#23513D 100%);
  --csi-bg:#F4FBF7;
  --csi-bg-alt:#EBF6EF;
  --csi-card-bg:#FFFFFF;
  --csi-card-shadow:0 2px 12px rgba(23,53,40,.07);
  --csi-card-shadow-hover:0 8px 24px rgba(23,53,40,.12);
  --csi-border:#D9E9DF;
  --csi-border-light:#EDF5EF;
  --csi-text:#234033;
  --csi-text-secondary:#5E776B;
  --csi-text-muted:#87A094;
  --csi-success:#1F8A5B;
  --csi-danger:#C84E4E;
  --csi-info:#2A78B8;
  --csi-font:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei','Helvetica Neue',Arial,sans-serif;
  --csi-font-heading:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei','Helvetica Neue',Arial,sans-serif;
  --csi-radius:12px;
  --csi-radius-sm:8px;
  --csi-radius-lg:16px;
  --csi-transition:all .25s cubic-bezier(.4,0,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:linear-gradient(180deg,#F7FCF9 0%,#F1F9F4 100%);
  font-family:var(--csi-font);
  color:var(--csi-text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
  font-family:var(--csi-font-heading);
  font-weight:600;
  letter-spacing:.01em;
  color:var(--csi-dark);
}
a{color:var(--csi-primary);text-decoration:none;transition:var(--csi-transition)}
a:hover{color:var(--csi-primary-dark)}
img,svg,video{max-width:100%;height:auto}
::selection{background:rgba(67,168,106,.22)}
.container,.container-fluid{position:relative}
.container-fluid{padding-left:16px;padding-right:16px}
.navbar-csi{
  background:linear-gradient(135deg,#173528 0%,#1F4433 45%,#23513D 100%) !important;
  box-shadow:0 8px 24px rgba(23,53,40,.18);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding:.55rem 0;
}
.navbar-csi .navbar-brand{
  font-family:var(--csi-font-heading);
  font-weight:800;
  font-size:1.15rem;
  letter-spacing:.4px;
  color:#fff !important;
}
.navbar-csi .navbar-brand .csi-logo{
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;margin-right:8px;
  border-radius:10px;
  background:linear-gradient(135deg,#34A853 0%,#1B7F4B 100%);
  color:#fff;font-size:.8rem;font-weight:800;
  box-shadow:0 6px 16px rgba(27,127,75,.32);
}
.navbar-csi .nav-link{
  color:rgba(255,255,255,.82) !important;
  font-weight:500;
  padding:.6rem 1rem !important;
  border-radius:8px;
  transition:var(--csi-transition);
  position:relative;
}
.navbar-csi .nav-link:hover,
.navbar-csi .nav-link:focus{
  color:#fff !important;background:rgba(255,255,255,.08);
}
.navbar-csi .nav-link.active{
  color:#fff !important;background:rgba(67,168,106,.18) !important;
}
.navbar-csi .nav-link.active::after{
  content:'';
  position:absolute;bottom:3px;left:50%;transform:translateX(-50%);
  width:20px;height:3px;background:#86E2A8;border-radius:2px;
}
.navbar-csi .nav-link i{margin-right:4px;font-size:1.05em}
.navbar-csi .navbar-toggler{border-color:rgba(255,255,255,.2)}
.navbar-csi .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.navbar-csi .dropdown-menu{
  border:none;border-radius:var(--csi-radius);
  box-shadow:0 10px 30px rgba(23,53,40,.14);
  padding:.5rem;margin-top:.5rem;
}
.navbar-csi .dropdown-menu .dropdown-header{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;
  color:var(--csi-text-muted);padding:.4rem .75rem;
}
.navbar-csi .dropdown-menu .dropdown-item{
  border-radius:6px;padding:.45rem .75rem;font-size:.9rem;transition:var(--csi-transition);
}
.navbar-csi .dropdown-menu .dropdown-item:hover{
  background:var(--csi-primary-bg);color:var(--csi-primary);
}
.navbar-csi .dropdown-item-text{font-size:.8rem;padding:.2rem .75rem}
#regionDropdown{column-count:2;column-gap:0;min-width:360px}
#regionDropdown>li{break-inside:avoid;display:block}
#regionDropdown .dropdown-header{column-span:all}
.page-header{padding:1.2rem 0 .75rem}
.page-header h4{font-weight:800;color:var(--csi-dark);margin-bottom:.15rem}
.page-header .text-muted{color:var(--csi-text-secondary) !important;font-size:.9rem}
.card-csi,.stat-card,.chart-container,.notice-card,.info-panel{
  background:var(--csi-card-bg);
  border:1px solid var(--csi-border);
  border-radius:var(--csi-radius);
  box-shadow:var(--csi-card-shadow);
  transition:var(--csi-transition);
}
.card-csi:hover,.stat-card:hover,.chart-container:hover{box-shadow:var(--csi-card-shadow-hover)}
.card-csi .card-header{background:transparent;border-bottom:1px solid var(--csi-border-light);padding:.85rem 1.25rem;font-weight:600}
.card-csi .card-body{padding:1.25rem}
.stat-card{height:100%;position:relative;overflow:hidden}
.stat-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;border-radius:4px 0 0 4px}
.stat-card .stat-icon{
  width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;margin-bottom:.5rem;
}
.stat-card .stat-label{font-size:.78rem;color:var(--csi-text-muted);font-weight:500;letter-spacing:.3px}
.stat-card .stat-value{font-size:1.6rem;font-weight:800;line-height:1.2;font-family:var(--csi-font-heading)}
.stat-card .stat-value-sm{font-size:1.1rem;font-weight:700}
.stat-card .stat-sub{font-size:.75rem;color:var(--csi-text-muted)}
.stat-card.stat-warning::before{background:var(--csi-primary)}
.stat-card.stat-warning .stat-icon{background:rgba(27,127,75,.12);color:var(--csi-primary)}
.stat-card.stat-warning .stat-value{color:var(--csi-primary)}
.stat-card.stat-success::before{background:var(--csi-success)}
.stat-card.stat-success .stat-icon{background:rgba(31,138,91,.12);color:var(--csi-success)}
.stat-card.stat-success .stat-value{color:var(--csi-success)}
.stat-card.stat-primary::before{background:var(--csi-info)}
.stat-card.stat-primary .stat-icon{background:rgba(42,120,184,.12);color:var(--csi-info)}
.stat-card.stat-primary .stat-value{color:var(--csi-info)}
.stat-card.stat-info::before{background:#0FA3A1}
.stat-card.stat-info .stat-icon{background:rgba(15,163,161,.12);color:#0FA3A1}
.stat-card.stat-info .stat-value{color:#0FA3A1}
.stat-card.stat-danger::before{background:var(--csi-danger)}
.stat-card.stat-danger .stat-icon{background:rgba(200,78,78,.12);color:var(--csi-danger)}
.stat-card.stat-danger .stat-value{color:var(--csi-danger)}
.hero-section{
  background:linear-gradient(135deg,#173528 0%,#214C39 55%,#2D6A47 100%);
  border-radius:var(--csi-radius-lg);
  padding:2rem;
  margin-bottom:1.5rem;
  position:relative;overflow:hidden;
  box-shadow:0 14px 34px rgba(23,53,40,.16);
  border:1px solid rgba(255,255,255,.06);
}
.hero-section::before,.hero-section::after{content:'';position:absolute;border-radius:50%;pointer-events:none}
.hero-section::before{top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(134,226,168,.15) 0%,transparent 70%)}
.hero-section::after{bottom:-30%;left:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(67,168,106,.12) 0%,transparent 70%)}
.hero-section h1,.hero-section h2,.hero-section h3,.hero-section h4{color:#fff;font-weight:800;position:relative;z-index:1}
.hero-section .hero-subtitle{color:rgba(255,255,255,.76);font-size:.95rem;position:relative;z-index:1}
.hero-section .hero-badge{
  display:inline-block;background:rgba(67,168,106,.16);color:#B8F1CC;
  font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:20px;
  border:1px solid rgba(134,226,168,.22);position:relative;z-index:1;
}
.notice-card{background:var(--csi-bg-alt);border-color:var(--csi-border);padding:.9rem 1.1rem}
.notice-card strong{color:var(--csi-dark)}
.info-panel{padding:1.25rem}
.info-panel .info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--csi-border-light)}
.info-panel .info-item:last-child{border-bottom:none}
.info-panel .info-label{font-size:.82rem;color:var(--csi-text-muted);font-weight:500}
.info-panel .info-value{font-size:.95rem;font-weight:700;color:var(--csi-text)}
.chart-container{overflow:hidden}
.price-up{color:var(--csi-danger) !important}
.price-down{color:var(--csi-success) !important}
.price-flat{color:var(--csi-text-secondary) !important}
.price-change-indicator{display:inline-flex;align-items:center;gap:3px;font-weight:600;font-size:.85rem}
.table-csi{margin-bottom:0}
.table-csi thead th{
  background:linear-gradient(135deg,#173528 0%,#1F4433 100%) !important;
  color:#fff;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.3px;
  padding:.7rem .85rem;border-bottom:none;white-space:nowrap;
}
.table-csi tbody td{padding:.6rem .85rem;vertical-align:middle;border-color:var(--csi-border-light);font-size:.9rem}
.table-csi tbody tr{transition:var(--csi-transition)}
.table-csi tbody tr:hover{background:var(--csi-primary-bg) !important}
.table-csi tbody tr:nth-child(even){background:rgba(244,251,247,.55)}
.table-csi tbody tr.table-secondary{background:#F5F8F6;color:var(--csi-text-muted)}
.table-csi tbody tr.table-secondary:hover{background:#EEF3EF !important}
.table-csi tr.province-group{background:#E7F4EB !important;border-top:2px solid var(--csi-border)}
.table-csi tr.province-group td{font-weight:800;font-size:.82rem;color:var(--csi-dark);letter-spacing:.4px;padding:.4rem .85rem}
.table-rounded thead th:first-child,.table-rounded thead th:last-child{border-radius:0}
.btn-csi-primary{
  background:var(--csi-primary-gradient);border:none;color:#fff;font-weight:700;
  padding:.5rem 1.25rem;border-radius:8px;transition:var(--csi-transition);
  box-shadow:0 4px 14px rgba(27,127,75,.24);
}
.btn-csi-primary:hover{transform:translateY(-1px);color:#fff;box-shadow:0 8px 20px rgba(27,127,75,.3)}
.btn-csi-outline{background:transparent;border:2px solid var(--csi-primary);color:var(--csi-primary);font-weight:700;padding:.4rem 1rem;border-radius:8px;transition:var(--csi-transition)}
.btn-csi-outline:hover{background:var(--csi-primary);color:#fff;transform:translateY(-1px)}
.btn-group-date .btn{border:1px solid var(--csi-border);color:var(--csi-text-secondary);font-weight:600;font-size:.82rem;padding:.35rem .9rem;transition:var(--csi-transition);background:var(--csi-card-bg)}
.btn-group-date .btn:hover{background:var(--csi-primary-bg);color:var(--csi-primary);border-color:var(--csi-primary-light)}
.btn-group-date .btn.active{background:var(--csi-primary-gradient);border-color:var(--csi-primary-dark);color:#fff;box-shadow:0 4px 12px rgba(27,127,75,.22)}
.form-csi .form-label{font-size:.82rem;font-weight:700;color:var(--csi-text-secondary);margin-bottom:.25rem}
.form-csi .form-control,.form-csi .form-select{border:1.5px solid var(--csi-border);border-radius:8px;font-size:.9rem;padding:.45rem .75rem;transition:var(--csi-transition)}
.form-csi .form-control:focus,.form-csi .form-select:focus{border-color:var(--csi-primary-light);box-shadow:0 0 0 3px rgba(67,168,106,.14)}
.region-switch{border:1.5px solid var(--csi-border);border-radius:8px;padding:.35rem .75rem;font-size:.9rem;font-weight:600;color:var(--csi-text);transition:var(--csi-transition);background:var(--csi-card-bg)}
.region-switch:focus{border-color:var(--csi-primary-light);box-shadow:0 0 0 3px rgba(67,168,106,.14)}
.badge-price{font-size:.82rem;font-weight:700;padding:.3rem .7rem;border-radius:6px}
.badge-price-up{background:rgba(200,78,78,.10);color:var(--csi-danger)}
.badge-price-down{background:rgba(31,138,91,.10);color:var(--csi-success)}
.badge-price-flat{background:rgba(91,119,107,.10);color:var(--csi-text-secondary)}
.price-warning{border-color:#E67E22 !important;background:#FFF8F0 !important;box-shadow:0 0 0 3px rgba(230,126,34,.12) !important}
.price-warning:focus{border-color:#D35400 !important;box-shadow:0 0 0 3px rgba(211,84,0,.2) !important}
.alert-csi-success{background:#EAF7EF;border:1px solid #BFE8CE;color:var(--csi-success);border-radius:var(--csi-radius-sm)}
.alert-csi-error{background:#FFF0F0;border:1px solid #F0C1C1;color:#B53E3E;border-radius:var(--csi-radius-sm)}
.footer-csi{background:linear-gradient(135deg,#173528 0%,#10271E 100%);color:rgba(255,255,255,.72);padding:1.5rem 0;margin-top:3rem;border-top:none}
.footer-csi a{color:#86E2A8}
.footer-csi a:hover{color:#fff}
.footer-csi small{font-size:.78rem;line-height:1.7}
.footer-csi .footer-divider{display:none}
#backToTop{
  position:fixed;bottom:30px;right:30px;width:44px;height:44px;border-radius:50%;
  background:var(--csi-primary-gradient);color:#fff;border:none;
  box-shadow:0 8px 18px rgba(27,127,75,.3);cursor:pointer;opacity:0;transform:translateY(20px);
  transition:var(--csi-transition);z-index:999;display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
#backToTop.visible{opacity:1;transform:translateY(0)}
#backToTop:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(27,127,75,.36)}
.loading-spinner{display:inline-block;width:2rem;height:2rem;border:3px solid var(--csi-border);border-top-color:var(--csi-primary);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.skeleton{background:linear-gradient(90deg,var(--csi-border-light) 25%,#F0F6F1 50%,var(--csi-border-light) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:4px}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes countUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.animate-count{animation:countUp .5s ease-out forwards}
.bg-csi-warm{background:var(--csi-bg)}
.bg-csi-alt{background:var(--csi-bg-alt)}
#mainChart,#regionChart,#queryChart{width:100%}
#mainChart{height:530px}
#regionChart{height:430px}
#queryChart{height:320px}

/* ============================================================
   后台管理样式
   ============================================================ */
/* 侧边导航 */
.admin-sidebar .list-group{border-radius:var(--csi-radius);overflow:hidden;border:1px solid var(--csi-border)}
.admin-sidebar .list-group-item{border:none;border-bottom:1px solid var(--csi-border-light);padding:.65rem 1rem;font-weight:500;font-size:.9rem;color:var(--csi-text);transition:var(--csi-transition)}
.admin-sidebar .list-group-item:last-child{border-bottom:none}
.admin-sidebar .list-group-item:hover{background:var(--csi-primary-bg);color:var(--csi-primary)}
.admin-sidebar .list-group-item.active{background:var(--csi-primary-gradient);color:#fff;font-weight:700;border:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}
.admin-sidebar .list-group-item i{margin-right:6px;width:18px;text-align:center}

/* 后台统计卡片 */
.admin-stat-card{border:none !important;border-radius:var(--csi-radius);box-shadow:var(--csi-card-shadow);transition:var(--csi-transition)}
.admin-stat-card:hover{box-shadow:var(--csi-card-shadow-hover);transform:translateY(-2px)}
.admin-stat-card .card-body{padding:1.25rem}
.admin-stat-card .stat-number{font-size:1.8rem;font-weight:800;font-family:var(--csi-font-heading);line-height:1.2;margin-bottom:.1rem}
.admin-stat-card .stat-label{font-size:.8rem;font-weight:500;color:var(--csi-text-muted);letter-spacing:.3px}
.admin-stat-card.stat-green{border-left:4px solid var(--csi-primary) !important}
.admin-stat-card.stat-green .stat-number{color:var(--csi-primary)}
.admin-stat-card.stat-blue{border-left:4px solid var(--csi-info) !important}
.admin-stat-card.stat-blue .stat-number{color:var(--csi-info)}
.admin-stat-card.stat-teal{border-left:4px solid #0FA3A1 !important}
.admin-stat-card.stat-teal .stat-number{color:#0FA3A1}
.admin-stat-card.stat-orange{border-left:4px solid #E67E22 !important}
.admin-stat-card.stat-orange .stat-number{color:#E67E22}

/* 后台卡片 */
.admin-card{border:none;border-radius:var(--csi-radius);box-shadow:var(--csi-card-shadow);transition:var(--csi-transition)}
.admin-card:hover{box-shadow:var(--csi-card-shadow-hover)}
.admin-card .card-header{background:linear-gradient(135deg,#F7FCF9 0%,#F1F9F4 100%);border-bottom:1px solid var(--csi-border-light);border-radius:var(--csi-radius) var(--csi-radius) 0 0 !important;padding:.75rem 1.15rem}
.admin-card .card-header strong{font-size:.9rem;color:var(--csi-dark)}
.admin-card .card-body{padding:1.15rem}

/* 后台表格 */
.table-admin{margin-bottom:0}
.table-admin thead th{background:linear-gradient(135deg,#173528 0%,#1F4433 100%);color:#fff;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;padding:.55rem .75rem;border-bottom:none;white-space:nowrap}
.table-admin tbody td{padding:.5rem .75rem;vertical-align:middle;border-color:var(--csi-border-light);font-size:.88rem}
.table-admin tbody tr{transition:var(--csi-transition)}
.table-admin tbody tr:hover{background:var(--csi-primary-bg) !important}
.table-admin tbody tr:nth-child(even){background:rgba(244,251,247,.45)}
.table-admin tbody tr td:first-child{padding-left:.75rem}

/* 后台按钮 */
.btn-admin-primary{background:var(--csi-primary-gradient);border:none;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:8px;transition:var(--csi-transition);box-shadow:0 4px 14px rgba(27,127,75,.2);font-size:.88rem}
.btn-admin-primary:hover{transform:translateY(-1px);color:#fff;box-shadow:0 6px 18px rgba(27,127,75,.28)}
.btn-admin-warning{background:linear-gradient(135deg,#E67E22 0%,#F0A030 100%);border:none;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:8px;transition:var(--csi-transition);box-shadow:0 4px 14px rgba(230,126,34,.2);font-size:.88rem}
.btn-admin-warning:hover{transform:translateY(-1px);color:#fff;box-shadow:0 6px 18px rgba(230,126,34,.28)}
.btn-admin-outline{background:transparent;border:2px solid var(--csi-border);color:var(--csi-text);font-weight:600;padding:.4rem .9rem;border-radius:8px;transition:var(--csi-transition);font-size:.85rem}
.btn-admin-outline:hover{background:var(--csi-primary-bg);border-color:var(--csi-primary-light);color:var(--csi-primary)}
.btn-admin-danger{background:linear-gradient(135deg,#C84E4E 0%,#E06060 100%);border:none;color:#fff;font-weight:600;padding:.4rem .9rem;border-radius:8px;transition:var(--csi-transition);font-size:.85rem}
.btn-admin-danger:hover{transform:translateY(-1px);color:#fff;box-shadow:0 4px 12px rgba(200,78,78,.25)}
.btn-admin-sm{padding:.3rem .7rem;font-size:.82rem}
.btn-admin-success{background:linear-gradient(135deg,#1F8A5B 0%,#28A86E 100%);border:none;color:#fff;font-weight:600;padding:.4rem .9rem;border-radius:8px;transition:var(--csi-transition);font-size:.85rem}
.btn-admin-success:hover{transform:translateY(-1px);color:#fff;box-shadow:0 4px 12px rgba(31,138,91,.25)}

/* 后台表单 */
.admin-form .form-label{font-size:.82rem;font-weight:600;color:var(--csi-text-secondary);margin-bottom:.25rem}
.admin-form .form-control,.admin-form .form-select{border:1.5px solid var(--csi-border);border-radius:8px;font-size:.88rem;padding:.4rem .7rem;transition:var(--csi-transition)}
.admin-form .form-control:focus,.admin-form .form-select:focus{border-color:var(--csi-primary-light);box-shadow:0 0 0 3px rgba(67,168,106,.14)}
.admin-form .form-control-sm,.admin-form .form-select-sm{font-size:.82rem;padding:.3rem .6rem}

/* 后台提示 */
.admin-alert-success{background:#EAF7EF;border:1px solid #BFE8CE;color:var(--csi-success);border-radius:var(--csi-radius-sm);font-size:.88rem}
.admin-alert-error{background:#FFF0F0;border:1px solid #F0C1C1;color:#B53E3E;border-radius:var(--csi-radius-sm);font-size:.88rem}

/* 后台页面标题 */
.admin-header{padding:1rem 0 .75rem}
.admin-header h4{font-weight:800;color:var(--csi-dark);margin-bottom:.1rem}
.admin-header .text-muted{font-size:.85rem;color:var(--csi-text-muted) !important}

/* 批量报价表格 */
.table-bulk thead th{background:linear-gradient(135deg,#173528 0%,#1F4433 100%);color:#fff;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.2px;padding:.45rem .6rem;border-bottom:none;white-space:nowrap}
.table-bulk tbody td{padding:.35rem .6rem;vertical-align:middle;border-color:var(--csi-border-light);font-size:.85rem}
.table-bulk tbody tr{transition:var(--csi-transition)}
.table-bulk tbody tr:hover{background:var(--csi-primary-bg) !important}

/* 后台按钮立体效果 */
.col-md-2:has(>.admin-sidebar) + .col-md-10 .btn{box-shadow:0 3px 0 rgba(0,0,0,.12);position:relative;top:0;transition:all .12s ease}
.col-md-2:has(>.admin-sidebar) + .col-md-10 .btn:hover{top:-2px;box-shadow:0 5px 0 rgba(0,0,0,.15)}
.col-md-2:has(>.admin-sidebar) + .col-md-10 .btn:active{top:2px;box-shadow:0 1px 0 rgba(0,0,0,.12)}
@media (max-width: 991.98px){
  .navbar-csi .nav-link.active::after{display:none}
  #regionDropdown{column-count:1;min-width:auto}
}
@media (max-width: 768px){
  .container-fluid{padding-left:12px;padding-right:12px}
  .stat-card .stat-value{font-size:1.25rem !important}
  .stat-card .stat-icon{width:34px;height:34px;font-size:1rem}
  #mainChart{height:350px !important}
  #regionChart{height:300px !important}
  #queryChart{height:260px !important}
  .navbar-csi .navbar-brand{font-size:1rem}
  .navbar-csi .navbar-brand .csi-logo{width:30px;height:30px;font-size:.7rem}
  .hero-section{padding:1.1rem}
  .hero-section h4{font-size:1.1rem}
  .page-header{padding:1rem 0 .5rem}
  .chart-container,.stat-card,.card-csi{border-radius:10px}
}
@media (max-width: 576px){
  .hero-section{border-radius:12px}
  .table-csi thead th,.table-csi tbody td{padding:.45rem .5rem;font-size:.8rem}
  .btn-group-date .btn{padding:.3rem .75rem;font-size:.78rem}
  #backToTop{right:16px;bottom:16px;width:40px;height:40px}
}