/* =========================
   miniXXV Brand Variables
   ========================= */
:root{
  --mx-ink:#00385E; --mx-ink-600:#0A436D;
  --mx-accent:#FF953E; --mx-accent-600:#E57E24;
  --mx-blue:#0081AB; --mx-sky:#9CD9E4;
  --mx-bg:#f0f0f0; --mx-card:#fff; --mx-border:#e0e0e0;
  --mx-text:#333; --mx-text-muted:#6c757d;
}
body{font-family:'Roboto',sans-serif;background:var(--mx-bg);color:var(--mx-text);}

/* NAVBAR */
.mxv-navbar{background:var(--mx-ink)!important;border-bottom:1px solid rgba(255,255,255,.06);}
.navbar-brand img{height:30px;}
.navbar .nav-link{color:rgba(255,255,255,.85);}
.navbar .nav-link:hover{color:#fff;}
.navbar .nav-link.active{color:#fff!important;background:rgba(255,255,255,.14);border-radius:6px;padding:.25rem .5rem;}
.navbar-text{color:rgba(255,255,255,.75);}

/* Cards / btns */
.card{background:var(--mx-card);border-color:var(--mx-border);}
.btn-primary{background:var(--mx-ink);border-color:var(--mx-ink);color:#fff;}
.btn-primary:hover{background:var(--mx-ink-600);border-color:var(--mx-ink-600);}
.btn-info{background:var(--mx-blue);border-color:var(--mx-blue);color:#fff;}
.btn-warning{background:var(--mx-accent);border-color:var(--mx-accent);color:#111;}
.btn-warning:hover{background:var(--mx-accent-600);border-color:var(--mx-accent-600);}
.btn-danger{background:#C23B22;border-color:#C23B22;color:#fff;}
.badge.bg-info{background:var(--mx-accent)!important;color:#111!important;}

/* DASHBOARD: Filters */
.mxv-filters-card{padding:12px;}
.mxv-filters-grid{display:grid;gap:10px;align-items:end;
  grid-template-columns:1fr 1fr 160px 160px 180px 120px 120px;}
.mxv-filters-grid .fg{min-width:0;}
.mxv-filters-grid .fg-inline{align-self:center;}
.mxv-filters-grid .fg-actions{align-self:end;}
.mxv-filters-grid .fg-span{grid-column:1 / -3;display:flex;align-items:center;}
@media (max-width:991.98px){
  .mxv-filters-grid{grid-template-columns:1fr 1fr;}
  .mxv-filters-grid .fg-span{grid-column:1 / -1;}
}
.mxv-segmented{display:inline-flex;gap:6px;background:#eef2f5;padding:4px;border-radius:8px;border:1px solid var(--mx-border);}
.mxv-segmented .seg{display:inline-block;padding:.35rem .6rem;border-radius:6px;text-decoration:none;color:#222;background:transparent;font-weight:500;}
.mxv-segmented .seg.active{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.05);color:#000;}
.mxv-segmented .seg:hover{background:#fff;}

/* DASHBOARD: Link rows — NEW LAYOUT */
.list-group-item{border:1px solid rgba(0,0,0,.125);border-radius:.5rem;background:#fff;box-shadow:0 .125rem .25rem rgba(0,0,0,.06);}
.mxv-link-card{padding:12px 14px;overflow:hidden;}
.mxv-link-grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:flex-start;}
.mxv-link-main{display:flex;gap:12px;align-items:flex-start;min-width:0;}
.mxv-link-text{min-width:0;}
.mxv-link-title{margin-bottom:.25rem;}
.mxv-long-url{font-size:.9rem;color:var(--mx-text-muted);display:block;max-width:64ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.35rem;}
.mxv-link-actions{display:flex;flex-direction:column;gap:.35rem;width:180px;justify-self:end;}
@media (min-width:768px){.mxv-link-actions{flex-direction:row;flex-wrap:wrap;width:240px;justify-content:flex-end;}}
.page-item.active .page-link{background:#e9ecef;color:#000!important;border-color:#ced4da;}
.page-link:hover{background:#f1f1f1;color:#000;}

/* Bulk Action Bar / Modals (unchanged) */
.bulk-action-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #ddd;box-shadow:0 2px 6px rgba(0,0,0,.1);padding:10px 20px;border-radius:8px;z-index:1000;display:flex;align-items:center;}
.d-none{display:none!important;}
.modal{position:fixed;inset:0;display:none;z-index:1050;justify-content:center;align-items:center;}
.modal.show{display:flex;}
.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.modal-content{position:relative;background:#fff;padding:30px 40px;border-radius:10px;width:min(500px,92vw);box-shadow:0 10px 25px rgba(0,0,0,.3);z-index:1;animation:fadeIn .25s ease-in-out;}
.modal-content .close{position:absolute;top:12px;right:16px;font-size:24px;color:#888;cursor:pointer;}
@keyframes fadeIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:translateY(0);}}

/* (Optional) Analytics + Bulk styles you already had can remain below... */
#clicksSpark { display:block; }
#clicksSpark #sparkLine { shape-rendering: geometricPrecision; }

/* Bulk upload polish */
#bulkUploadPage .progress { background: #e9ecef; }
#bulkUploadPage .progress-bar { transition: width .2s ease; }