:root{
  --times-blue:#005eb8;
  --times-orange:#f28e1b;
  --times-navy:#003865;
  --times-sky:#e7f1fb;
  --times-ink:#1f2a33;
  --times-muted:#607083;
  --times-line:#d9e3ed;
  --times-bg:#f5f8fb;
  --times-surface:#ffffff;
  --times-success:#198754;
  --times-warning:#f28e1b;
  --times-danger:#b42318;
  --times-font:"Open Sans", Arial, Helvetica, sans-serif;

  --brand:var(--times-blue) !important;
  --brand2:var(--times-orange) !important;
  --text:var(--times-ink) !important;
  --muted:var(--times-muted) !important;
  --line:rgba(0,94,184,.14) !important;

  --ms-bg:var(--times-bg) !important;
  --ms-surface:var(--times-surface) !important;
  --ms-text:var(--times-ink) !important;
  --ms-muted:var(--times-muted) !important;
  --ms-line:var(--times-line) !important;
  --ms-brand:var(--times-blue) !important;
  --ms-brand-soft:var(--times-sky) !important;
  --ms-warning:var(--times-orange) !important;
  --ms-danger:#c65132 !important;
}

html,
body,
button,
input,
select,
textarea{
  font-family:var(--times-font) !important;
}

body.modern-shell-body,
body.modern-auth-body,
.dash-wrap,
.doc-wrap,
.mg-page{
  background:var(--times-bg) !important;
  color:var(--times-ink) !important;
}

.ms-brand-mark,
.ms-avatar,
.ms-stat-icon,
.ms-action-icon,
.empty-icon,
.avatar{
  background:var(--times-sky) !important;
  color:var(--times-blue) !important;
}

.ms-brand-mark{
  background:linear-gradient(135deg,var(--times-blue),var(--times-orange)) !important;
  color:#fff !important;
}

.ms-nav a:hover,
.ms-nav button:hover,
.ms-nav a.active,
.review-link,
.mini-btn,
.chip,
.pill{
  background:rgba(0,94,184,.09) !important;
  border-color:rgba(0,94,184,.18) !important;
  color:var(--times-blue) !important;
}

.dash-topbar,
.admin-topbar,
.coord-topbar,
.sales-topbar,
.doc-topbar,
.ms-topbar{
  background:#fff !important;
  color:var(--times-blue) !important;
  border:1px solid rgba(0,94,184,.16) !important;
}

.doc-title,
.dash-title,
.admin-title,
.coord-title,
.sales-title,
.mg-h1,
.ms-page-title,
h1,
h2,
h3{
  color:inherit;
  font-family:var(--times-font) !important;
}

.doc-topbar .doc-title,
.dash-topbar .dash-title,
.admin-topbar .admin-title,
.coord-topbar .coord-title,
.sales-topbar .sales-title{
  color:var(--times-blue) !important;
}

.ms-topbar .ms-page-title,
.ms-topbar .ms-page-subtitle,
.ms-topbar .ms-user-meta strong,
.ms-topbar .ms-user-meta span{
  color:var(--times-blue) !important;
}

a{
  color:var(--times-blue);
}

input:focus,
select:focus,
textarea:focus,
.doc-search:focus{
  border-color:var(--times-blue) !important;
  box-shadow:0 0 0 3px rgba(0,94,184,.14) !important;
}

button[type="submit"],
.btn-ok,
.btn-forward,
.ca-submit{
  background:var(--times-blue) !important;
  color:#fff !important;
}

.btn-warn{
  background:rgba(242,142,27,.12) !important;
  color:#8a4a05 !important;
  border-color:rgba(242,142,27,.24) !important;
}

.mg-btn-ghost,
.btn.neutral,
.top-btn,
.mini-btn:not(.danger){
  background:#fff !important;
  color:var(--times-blue) !important;
  border-color:rgba(0,94,184,.16) !important;
}

.mg-btn-ghost:hover,
.btn.neutral:hover,
.top-btn:hover,
.mini-btn:not(.danger):hover{
  background:var(--times-sky) !important;
  color:var(--times-blue) !important;
}

.mini-btn.danger{
  background:rgba(180,35,24,.10) !important;
  color:var(--times-danger) !important;
  border-color:rgba(180,35,24,.18) !important;
}

.btn.ok,
.btn-ok,
button.btn-ok[type="submit"]{
  background:var(--times-success) !important;
  color:#fff !important;
  border-color:var(--times-success) !important;
}

.btn.bad,
.btn-no,
button.btn-no[type="submit"]{
  background:rgba(180,35,24,.10) !important;
  color:var(--times-danger) !important;
  border:1px solid rgba(180,35,24,.20) !important;
}

.btn-no,
.notice.bad,
.error{
  color:var(--times-danger) !important;
}

.notice.ok,
.status-pill.approved{
  color:var(--times-success) !important;
}

.mg-btn,
.mg-open,
.btn-download-all{
  background:var(--times-blue) !important;
  color:#fff !important;
  border-color:var(--times-blue) !important;
}

.mg-pager .mg-btn,
.mg-pager-inner .mg-btn{
  background:#fff !important;
  color:var(--times-blue) !important;
  border-color:rgba(0,94,184,.18) !important;
}

.tbl th,
.doc-table th,
.mg-table thead th{
  color:var(--times-navy) !important;
  background:rgba(0,94,184,.06) !important;
}

.tbl tr:hover td,
.doc-table tr:hover td,
.mg-table tr:hover td{
  background:rgba(0,94,184,.04) !important;
}

.ms-brand-logo{
  display:block;
  width:152px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  padding:6px;
  border-radius:8px;
  background:#fff;
}

.ms-brand{
  align-items:flex-start !important;
  flex-direction:column;
  gap:8px !important;
}

.mobile-menu-toggle{
  border-color:rgba(0,94,184,.20) !important;
  background:#fff !important;
  color:var(--times-blue) !important;
}

body.sidebar-open{
  overflow:hidden;
}

/* Modern light-theme polish */
:root{
  --times-card-shadow:0 18px 45px rgba(0,56,101,.08);
  --times-soft-shadow:0 8px 24px rgba(0,56,101,.06);
  --times-radius:8px;
}

body.modern-shell-body{
  background:
    radial-gradient(900px 360px at 6% -8%, rgba(0,94,184,.10), transparent 58%),
    radial-gradient(820px 320px at 94% -10%, rgba(242,142,27,.10), transparent 56%),
    #f5f8fb !important;
}

.ms-app{
  grid-template-columns:282px minmax(0, 1fr) !important;
}

.ms-sidebar{
  background:#ffffff !important;
  border-right:1px solid rgba(0,94,184,.12) !important;
  box-shadow:12px 0 36px rgba(0,56,101,.05);
}

.ms-brand{
  padding:4px 4px 16px;
  margin-bottom:14px !important;
  border-bottom:1px solid rgba(0,94,184,.10);
}

.ms-brand span{
  color:var(--times-navy);
  font-size:14px;
  font-weight:900;
  letter-spacing:0;
}

.ms-nav-title{
  margin-top:18px !important;
  color:#7b8ba0 !important;
  letter-spacing:.06em;
}

.ms-nav a,
.ms-nav button{
  position:relative;
  min-height:44px;
  border:1px solid transparent !important;
  border-radius:var(--times-radius) !important;
  color:#43566d !important;
  transition:background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}

.ms-nav a i,
.ms-nav button i{
  width:18px;
  text-align:center;
  color:#7b8ba0;
}

.ms-nav a:hover,
.ms-nav button:hover{
  transform:translateX(2px);
}

.ms-nav a.active{
  background:linear-gradient(90deg, rgba(0,94,184,.12), rgba(0,94,184,.04)) !important;
  border-color:rgba(0,94,184,.18) !important;
  box-shadow:inset 3px 0 0 var(--times-blue);
}

.ms-nav a.active i,
.ms-nav a:hover i,
.ms-nav button:hover i{
  color:var(--times-blue);
}

.ms-nav form{
  margin:0;
}

.ms-nav .ms-logout-btn,
.ms-nav button.ms-logout-btn[type="submit"]{
  width:100% !important;
  min-height:44px;
  justify-content:flex-start;
  background:#fff7f5 !important;
  color:var(--times-danger) !important;
  border:1px solid rgba(180,35,24,.16) !important;
  box-shadow:none !important;
  margin:0 !important;
}

.ms-nav .ms-logout-btn i{
  color:var(--times-danger) !important;
}

.ms-nav .ms-logout-btn:hover,
.ms-nav button.ms-logout-btn[type="submit"]:hover{
  background:rgba(180,35,24,.10) !important;
  color:#8f1d15 !important;
  border-color:rgba(180,35,24,.24) !important;
}

.ms-nav .ms-logout-btn:hover i{
  color:#8f1d15 !important;
}

.ms-sidebar-user{
  margin-top:22px !important;
  background:linear-gradient(180deg,#fff,#f8fbff) !important;
  border-color:rgba(0,94,184,.14) !important;
  box-shadow:var(--times-soft-shadow);
}

.ms-main{
  padding:26px 30px 36px !important;
}

.ms-topbar,
.dash-topbar,
.admin-topbar,
.coord-topbar,
.sales-topbar,
.doc-topbar,
.mg-header{
  border-radius:var(--times-radius) !important;
  box-shadow:var(--times-soft-shadow) !important;
}

.ms-topbar{
  padding:16px 18px !important;
}

.ms-page-title,
.dash-title,
.admin-title,
.coord-title,
.sales-title,
.doc-title,
.mg-h1{
  font-weight:900 !important;
  letter-spacing:0;
}

.mg-subtitle{
  margin-top:5px;
  color:var(--times-muted);
  font-size:13px;
  font-weight:700;
}

.ms-grid{
  gap:16px !important;
}

.ms-card,
.dash-card,
.doc-panel,
.media-panel,
.mg-table-wrap,
.mg-pager-inner,
.table-wrap{
  border-radius:var(--times-radius) !important;
  border:1px solid rgba(0,94,184,.12) !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:var(--times-card-shadow) !important;
}

.ms-card,
.dash-card,
.doc-panel{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.ms-card:hover,
.dash-card:hover,
.doc-panel:hover{
  transform:translateY(-1px);
  border-color:rgba(0,94,184,.20) !important;
  box-shadow:0 22px 52px rgba(0,56,101,.10) !important;
}

.ms-stat-icon,
.ms-action-icon,
.empty-icon,
.avatar,
.doc-metric-icon{
  border-radius:var(--times-radius) !important;
}

.ms-action-card{
  border-radius:var(--times-radius) !important;
  border-color:rgba(0,94,184,.12) !important;
  box-shadow:0 1px 0 rgba(0,56,101,.03);
}

.ms-action-card:hover{
  transform:translateY(-1px);
  box-shadow:var(--times-soft-shadow);
}

.chip,
.pill,
.status,
.decision,
.status-pill{
  border-radius:999px !important;
  font-weight:900 !important;
}

.tbl,
.doc-table,
.mg-table{
  border-collapse:separate !important;
  border-spacing:0 !important;
}

.tbl th,
.doc-table th,
.mg-table thead th{
  padding:13px 14px !important;
  font-size:12px !important;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.tbl td,
.doc-table td,
.mg-table tbody td{
  padding:13px 14px !important;
  vertical-align:middle !important;
}

.tbl tr:last-child td,
.doc-table tr:last-child td,
.mg-table tr:last-child td{
  border-bottom:0 !important;
}

.btn,
.mg-btn,
.mg-open,
.review-link,
.mini-btn,
.btn-download-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:var(--times-radius) !important;
  min-height:36px;
  transition:background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.doc-table .actions{
  display:table-cell !important;
  position:sticky !important;
  right:0;
  z-index:3;
  background:#fff !important;
  box-shadow:-10px 0 18px rgba(0,56,101,.06);
  vertical-align:middle !important;
  white-space:nowrap !important;
  min-width:max-content;
}

.doc-table th:last-child{
  position:sticky !important;
  right:0;
  z-index:5;
  background:#edf6ff !important;
  box-shadow:-10px 0 18px rgba(0,56,101,.06);
}

.doc-table .actions > .btn,
.doc-table .actions form{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px;
  vertical-align:middle !important;
  margin:0 8px 0 0 !important;
}

.doc-table .actions form:last-child{
  margin-right:0 !important;
}

.doc-table .actions .btn{
  min-width:104px;
  min-height:38px;
  padding:9px 12px !important;
}

.doc-table .actions input[type="file"],
.doc-table .actions input[type="text"]{
  max-width:150px;
  min-height:36px;
  padding:7px 8px;
  border:1px solid rgba(0,94,184,.16);
  border-radius:var(--times-radius);
  background:#fff;
  color:var(--times-ink);
  font-weight:800;
}

.btn:hover,
.mg-btn:hover,
.mg-open:hover,
.review-link:hover,
.mini-btn:hover,
.btn-download-all:hover{
  transform:translateY(-1px);
  text-decoration:none !important;
}

.mg-btn,
.mg-open,
.btn.primary,
.btn-download-all{
  box-shadow:0 10px 20px rgba(0,94,184,.12);
}

.btn-refresh{
  background:#fff !important;
  color:var(--times-blue) !important;
  border:1px solid rgba(0,94,184,.18) !important;
  box-shadow:none !important;
}

.doc-metrics{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
  margin:16px 0 0;
}

.doc-metric{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:14px;
  border:1px solid rgba(0,94,184,.12);
  border-radius:var(--times-radius);
  background:#fff;
  box-shadow:var(--times-soft-shadow);
}

.doc-metric-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:var(--times-sky);
  color:var(--times-blue);
}

.doc-metric-icon.ok{
  background:rgba(25,135,84,.10);
  color:var(--times-success);
}

.doc-metric-icon.warn{
  background:rgba(242,142,27,.13);
  color:#9a5a08;
}

.doc-metric-icon.bad{
  background:rgba(180,35,24,.10);
  color:var(--times-danger);
}

.doc-metric-icon.pending{
  background:var(--times-sky);
  color:var(--times-blue);
}

.doc-metric strong{
  display:block;
  color:var(--times-navy);
  font-size:22px;
  line-height:1;
}

.doc-metric em{
  display:block;
  margin-top:4px;
  color:var(--times-muted);
  font-size:12px;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}

.mg-page{
  height:auto !important;
  min-height:calc(100vh - 52px);
  background:transparent !important;
  color:var(--times-ink) !important;
}

.mg-header{
  position:relative !important;
  top:auto !important;
  padding:18px !important;
  background:#fff !important;
  color:var(--times-ink) !important;
  border:1px solid rgba(0,94,184,.16) !important;
  box-shadow:var(--times-soft-shadow) !important;
}

.mg-content{
  padding:0 !important;
  overflow:visible !important;
}

.mg-table-toolbar{
  padding:14px;
  margin:0 0 14px !important;
  border:1px solid rgba(0,94,184,.12);
  border-radius:var(--times-radius);
  background:#fff;
  box-shadow:var(--times-soft-shadow);
}

.mg-h1,
.mg-title,
.mg-label,
.mg-box-title,
.mg-title-cell,
.mg-meta-title,
.mg-pageinfo,
.mg-count{
  color:var(--times-navy) !important;
}

.mg-subtitle,
.mg-status,
.mg-muted,
.mg-desc,
.mg-type,
.mg-meta-sub{
  color:var(--times-muted) !important;
}

.mg-input,
.mg-select,
.mg-select-sm,
.mg-pager-inner select{
  background:#fff !important;
  color:var(--times-ink) !important;
  border-color:rgba(0,94,184,.16) !important;
}

.mg-wrap,
.mg-main,
.mg-sidebar,
.mg-item,
.mg-subfolder,
.mg-folder{
  background:#fff !important;
  color:var(--times-ink) !important;
  border-color:rgba(0,94,184,.12) !important;
}

.mg-wrap{
  background:transparent !important;
}

.mg-topbar{
  background:#fff !important;
  color:var(--times-ink) !important;
  border:1px solid rgba(0,94,184,.16) !important;
  box-shadow:var(--times-soft-shadow) !important;
}

.mg-folder:hover,
.mg-subfolder:hover{
  background:var(--times-sky) !important;
  color:var(--times-blue) !important;
  filter:none !important;
}

.mg-folder-active{
  border-left-color:var(--times-orange) !important;
  background:rgba(0,94,184,.06) !important;
  color:var(--times-blue) !important;
}

.mg-thumb{
  width:78px !important;
  height:56px !important;
  border-radius:var(--times-radius) !important;
}

.mg-actions .mg-btn{
  background:#fff7ed !important;
  color:#9a3412 !important;
  border-color:rgba(242,142,27,.26) !important;
  box-shadow:none !important;
}

.mg-actions .mg-btn:hover{
  background:#ffedd5 !important;
  color:#7c2d12 !important;
}

.media-modal-card{
  border-radius:var(--times-radius) !important;
}

@media(max-width:1100px){
  .doc-metrics{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:980px){
  .ms-app{
    grid-template-columns:1fr !important;
  }
  .ms-main{
    padding:74px 16px 24px !important;
  }
}

@media(max-width:640px){
  .doc-metrics{
    grid-template-columns:1fr;
  }
  .doc-table .actions{
    display:table-cell !important;
    min-width:132px;
  }
  .doc-table .actions > .btn,
  .doc-table .actions form{
    display:flex !important;
    width:100%;
    margin:0 0 8px !important;
  }
  .doc-table .actions form:last-child{
    margin-bottom:0 !important;
  }
  .doc-table .actions .btn{
    width:100%;
  }
  .mg-table-toolbar{
    align-items:stretch;
  }
  .mg-input,
  .mg-select,
  .mg-select-sm,
  .btn-refresh{
    width:100% !important;
    max-width:none !important;
  }
}
