:root{
  --ms-bg:#f5f8fb;
  --ms-surface:#ffffff;
  --ms-text:#1f2a33;
  --ms-muted:#607083;
  --ms-line:#d9e3ed;
  --ms-brand:#005eb8;
  --ms-brand-soft:#e7f1fb;
  --ms-success:#13deb9;
  --ms-warning:#f78f13;
  --ms-danger:#fa896b;
  --ms-radius:8px;
  --ms-shadow:0 2px 10px rgba(37,55,102,.06);
  --ms-font:"BentonSans Cond", "Benton Sans Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
}

body.modern-shell-body{
  align-items:stretch !important;
  justify-content:flex-start !important;
  background:var(--ms-bg) !important;
  color:var(--ms-text) !important;
  font-family:var(--ms-font) !important;
}

body.modern-auth-body{
  align-items:center !important;
  justify-content:center !important;
  background:linear-gradient(135deg,#eef4fb 0%,#ffffff 48%,#f7fbff 100%) !important;
  color:var(--ms-text) !important;
  font-family:var(--ms-font) !important;
  padding:24px;
}

body.modern-auth-body .card{
  width:min(460px, calc(100vw - 32px)) !important;
  border:1px solid var(--ms-line) !important;
  border-radius:14px !important;
  box-shadow:0 18px 50px rgba(37,55,102,.12) !important;
  padding:30px !important;
  background:#fff !important;
}

body.modern-auth-body .card h2{
  margin:0 0 8px !important;
  color:var(--ms-text) !important;
  font-size:24px !important;
  font-weight:950 !important;
  text-align:left !important;
}

body.modern-auth-body .auth-subtitle,
body.modern-auth-body .card p{
  color:var(--ms-muted) !important;
  text-align:left !important;
}

body.modern-auth-body .card.text-align-center h2,
body.modern-auth-body .card.text-align-center p{
  text-align:center !important;
}

body.modern-auth-body .card img{
  max-width:190px;
  display:block;
  margin:0 0 18px;
}

body.modern-auth-body label{
  color:#52627a;
  font-size:14px;
  font-weight:850;
}

body.modern-auth-body .input-wrap{
  position:relative;
}

body.modern-auth-body .row.input-icon > label + .input-wrap,
body.modern-auth-body label + .row.input-icon .input-wrap{
  margin-top:6px;
}

body.modern-auth-body input,
body.modern-auth-body select{
  min-height:44px;
  border:1px solid var(--ms-line) !important;
  border-radius:var(--ms-radius) !important;
  background:#fff !important;
}

body.modern-auth-body input[type="checkbox"]{
  width:16px !important;
  min-height:16px !important;
  height:16px !important;
  flex:0 0 auto;
  accent-color:var(--ms-brand);
}

body.modern-auth-body .passwordshow{
  align-items:center !important;
  gap:8px;
  color:#52627a;
  font-size:14px;
}

body.modern-auth-body .success{
  background:#e6fffb !important;
  color:#087968 !important;
  border:1px solid #a7f3e2 !important;
  border-radius:var(--ms-radius) !important;
  padding:10px 12px !important;
  text-align:left !important;
  margin-bottom:12px;
}

body.modern-auth-body button[type="submit"]{
  min-height:44px;
  border-radius:var(--ms-radius) !important;
  background:var(--ms-brand) !important;
  font-weight:900 !important;
}

body.modern-auth-body .error{
  background:#fff1ed !important;
  color:#b42318 !important;
  border:1px solid #ffd6ca !important;
  border-radius:var(--ms-radius) !important;
  padding:10px 12px !important;
  text-align:left !important;
}

body.modern-auth-body .tm-login-error{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

body.modern-auth-body .tm-login-error a{
  color:#005eb8;
  font-weight:900;
  white-space:nowrap;
}

body.modern-auth-body .card.tm-login-card{
  width:min(980px, calc(100vw - 32px)) !important;
  display:grid;
  grid-template-columns:minmax(300px, .92fr) minmax(360px, 1.08fr);
  overflow:hidden;
  padding:0 !important;
  border:0 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 24px 60px rgba(24,37,56,.18) !important;
}

body.modern-auth-body .card.tm-register-card{
  width:min(1080px, calc(100vw - 32px)) !important;
  grid-template-columns:minmax(300px, .82fr) minmax(520px, 1.18fr);
}

.tm-login-brand{
  min-height:560px;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  padding:38px 36px 30px;
  color:#fff;
  background:linear-gradient(160deg,#003865 0%, #005eb8 58%, #f78f13 140%);
}

.tm-login-brand::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(480px 240px at 18% 8%, rgba(255,255,255,.22), transparent 62%),
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.08) 100%);
  opacity:.55;
}

.tm-login-brand::after{
  content:"";
  position:absolute;
  right:-58px;
  top:-9%;
  width:112px;
  height:118%;
  background:#fff;
  border-radius:58% 0 0 58% / 50% 0 0 50%;
}

.tm-login-brand-content,
.tm-login-brand-footer{
  position:relative;
  z-index:1;
}

.tm-login-logo-badge{
  display:inline-flex;
  align-items:center;
  padding:0;
  margin-bottom:34px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.modern-auth-body .card .tm-login-logo{
  width:218px;
  max-width:72vw;
  height:auto;
  margin:0;
  filter:drop-shadow(0 10px 18px rgba(0,29,74,.2));
}

body.modern-auth-body .tm-login-card .tm-login-eyebrow{
  margin:0 0 12px !important;
  color:rgba(255,255,255,.76) !important;
  text-align:left !important;
  font-size:14px !important;
  font-weight:900;
  text-transform:uppercase;
}

.tm-login-brand h1{
  margin:0;
  color:#fff;
  font-size:36px;
  line-height:1.08;
  font-weight:950;
}

body.modern-auth-body .card .tm-auth-illustration{
  width:min(250px, 82%);
  max-width:min(250px, 82%);
  max-height:210px;
  height:auto;
  margin:26px 0 0;
  object-fit:contain;
  filter:drop-shadow(0 18px 22px rgba(0,29,74,.2));
}

body.modern-auth-body .card .tm-auth-illustration-register{
  width:min(360px, 96%);
  max-width:min(360px, 96%);
  max-height:310px;
  margin:30px 0 0 -18px;
}

body.modern-auth-body .tm-login-card .tm-login-brand-copy{
  max-width:310px;
  margin:14px 0 0 !important;
  color:rgba(255,255,255,.86) !important;
  text-align:left !important;
  font-size:14px !important;
  line-height:1.55;
}

.tm-login-trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}

.tm-login-trust span{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:14px;
  font-weight:850;
}

.tm-login-brand-footer{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.78);
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
}

.tm-login-brand-footer span + span{
  padding-left:10px;
  border-left:1px solid rgba(255,255,255,.34);
}

.tm-login-form{
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:48px 56px;
}

.tm-login-form-head{
  margin-bottom:24px;
}

.tm-login-form-kicker{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin-bottom:10px;
  padding:0 10px;
  border:1px solid rgba(0,94,184,.16);
  border-radius:999px;
  background:var(--ms-brand-soft);
  color:var(--ms-brand);
  font-size:14px;
  font-weight:900;
}

.tm-login-form-head h2{
  margin:0 !important;
  font-size:29px !important;
  line-height:1.15;
}

.tm-login-form-head p{
  margin:7px 0 0 !important;
  color:var(--ms-muted) !important;
  text-align:left !important;
}

.tm-login-card form{
  width:100%;
}

.tm-login-card .form-grid input,
.tm-login-card .form-grid select{
  margin-bottom:0 !important;
}

.tm-login-card .tm-register-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:18px;
  row-gap:14px;
}

.tm-login-card .tm-register-grid .row{
  margin:0 !important;
  min-width:0;
}

.tm-form-span{
  grid-column:1 / -1;
}

.tm-login-card .tm-form-action{
  justify-self:start;
}

.tm-login-card .row.input-icon{
  margin-bottom:17px;
}

.tm-login-card label{
  display:block;
  margin-bottom:7px;
}

.tm-login-card .input-wrap{
  position:relative;
  margin-top:0;
  min-width:0;
  width:100%;
}

.tm-login-card .input-wrap > i{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:#7c8ba0;
  font-size:14px;
  pointer-events:none;
}

.tm-login-card .input-wrap.has-password-toggle .tm-password-toggle{
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  display:grid !important;
  place-items:center;
  position:absolute;
  right:4px;
  top:4px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  color:#607083 !important;
  box-shadow:none !important;
  cursor:pointer;
}

.tm-login-card .input-wrap.has-password-toggle .tm-password-toggle:hover,
.tm-login-card .input-wrap.has-password-toggle .tm-password-toggle:focus{
  color:var(--ms-brand) !important;
  background:var(--ms-brand-soft) !important;
}

.tm-login-card .tm-password-toggle i{
  position:static;
  transform:none;
  font-size:14px;
  pointer-events:none;
}

body.modern-auth-body .tm-login-card input:not([type="checkbox"]),
body.modern-auth-body .tm-login-card select{
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-width:0;
  height:48px;
  padding:11px 44px 11px 42px !important;
  border-color:#b9dceb !important;
  border-radius:5px !important;
  font-size:15px;
}

body.modern-auth-body .tm-login-card select{
  padding-left:13px !important;
  padding-right:13px !important;
}

body.modern-auth-body .tm-login-card .input-wrap select{
  padding-left:42px !important;
}

body.modern-auth-body .tm-login-card input:focus,
body.modern-auth-body .tm-login-card select:focus{
  outline:none;
  border-color:var(--ms-brand) !important;
  box-shadow:0 0 0 3px rgba(0,94,184,.14) !important;
}

body.modern-auth-body .tm-login-card .passwordshow{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px;
  margin:0 0 18px !important;
  color:#52627a;
  font-size:14px;
}

body.modern-auth-body .tm-login-card .tm-login-submit{
  width:100% !important;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin-top:4px !important;
  padding:0 22px !important;
  border-radius:8px !important;
  background:var(--ms-brand) !important;
  box-shadow:0 12px 22px rgba(0,94,184,.20) !important;
}

body.modern-auth-body .tm-login-card .tm-login-submit:hover{
  filter:brightness(.96);
}

.tm-login-card .tm-password-hint{
  margin:0;
  padding:12px 14px;
  border:1px solid #d9e8f2;
  border-radius:6px;
  background:#f7fbfe;
}

.tm-login-card .tm-password-hint strong{
  display:block;
  color:#334155;
  font-size:14px;
  margin-bottom:7px;
}

.tm-login-card .tm-password-hint ul{
  margin:0;
  padding-left:18px;
  color:#607083;
  font-size:14px;
  line-height:1.45;
}

.tm-login-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top:20px;
  font-size:14px;
}

.tm-login-links p{
  margin:0 !important;
  text-align:left !important;
}

.tm-login-links a{
  font-weight:900;
}

.tm-login-safe-note{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:18px;
  padding:11px 12px;
  border:1px solid #d9e8f2;
  border-radius:8px;
  background:#f7fbfe;
  color:#607083;
  font-size:14px;
  line-height:1.4;
}

.tm-login-safe-note i{
  margin-top:2px;
  color:var(--ms-brand);
}

body.modern-auth-body .tm-login-card button[type="submit"]{
  width:auto;
  min-width:132px;
  padding:11px 24px;
  border-radius:999px !important;
  box-shadow:0 8px 18px rgba(0,94,184,.22);
}

.ms-app{
  display:grid;
  grid-template-columns:270px minmax(0, 1fr);
  width:100%;
  min-height:100vh;
}

.ms-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  background:var(--ms-surface);
  border-right:1px solid var(--ms-line);
  padding:22px 18px;
  overflow:auto;
}

.ms-sidebar-user{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:24px;
  padding:12px;
  border:1px solid var(--ms-line);
  border-radius:var(--ms-radius);
  background:#f8fbff;
  min-width:0;
  overflow:hidden;
}

.ms-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--ms-text);
  font-weight:900;
  font-size:18px;
  margin-bottom:26px;
}

.ms-brand-mark{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,var(--ms-brand),#f78f13);
  box-shadow:0 10px 22px rgba(93,135,255,.24);
}

.ms-nav-title{
  margin:18px 12px 8px;
  color:#9aa4b2;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
}

.ms-nav{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.ms-nav a,
.ms-nav button{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:0;
  border-radius:var(--ms-radius);
  color:#52627a;
  background:transparent;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  margin:0;
  cursor:pointer;
}

.ms-nav a:hover,
.ms-nav button:hover,
.ms-nav a.active{
  color:var(--ms-brand);
  background:var(--ms-brand-soft);
  text-decoration:none;
}

.ms-main{
  min-width:0;
  padding:22px 28px 32px;
}

.ms-main > .dash-wrap,
.ms-main > .doc-wrap,
.ms-main > .mg-page{
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.ms-main .dash-topbar,
.ms-main .admin-topbar,
.ms-main .coord-topbar,
.ms-main .sales-topbar,
.ms-main .doc-topbar,
.ms-main .mg-header{
  margin-bottom:18px;
  background:#fff !important;
  color:var(--ms-text) !important;
  border:1px solid var(--ms-line) !important;
  border-radius:var(--ms-radius) !important;
  box-shadow:var(--ms-shadow) !important;
}

.ms-main .dash-title,
.ms-main .admin-title,
.ms-main .coord-title,
.ms-main .sales-title,
.ms-main .doc-title,
.ms-main .mg-h1{
  color:var(--ms-text) !important;
}

.ms-main .dash-subtitle,
.ms-main .doc-subtitle{
  color:var(--ms-muted) !important;
}

.ms-topbar{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:var(--ms-surface);
  border:1px solid var(--ms-line);
  border-radius:var(--ms-radius);
  box-shadow:var(--ms-shadow);
  padding:12px 16px;
}

.ms-page-title{
  margin:0;
  font-size:20px;
  font-weight:900;
  color:var(--ms-text);
}

.ms-page-subtitle{
  margin-top:4px;
  color:var(--ms-muted);
  font-size:14px;
}

.ms-top-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.mobile-menu-toggle,
.mobile-menu-backdrop{
  display:none;
}

.ms-icon-btn{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  position:relative;
  border-radius:999px;
  border:1px solid var(--ms-line);
  color:#52627a;
  background:#fff;
  text-decoration:none;
}

.ms-icon-btn:hover{
  color:var(--ms-brand);
  background:var(--ms-brand-soft);
  text-decoration:none;
}

.ms-badge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--ms-danger);
  color:#fff;
  font-size:14px;
  font-weight:900;
  border:2px solid #fff;
}

.ms-user-chip{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 10px 6px 6px;
  border:1px solid var(--ms-line);
  border-radius:999px;
  background:#fff;
}

.ms-avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--ms-brand),#f78f13);
  font-weight:900;
}

.ms-user-meta{
  display:flex;
  flex-direction:column;
  line-height:1.2;
  min-width:0;
}

.ms-user-meta strong{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ms-text);
  font-size:14px;
}

.ms-user-meta span{
  color:var(--ms-muted);
  font-size:14px;
}

.ms-sidebar-user .ms-user-meta{
  flex:1 1 auto;
}

.ms-sidebar-user .ms-user-meta strong{
  max-width:100%;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.ms-sidebar-user .ms-user-meta span{
  overflow-wrap:anywhere;
}

.ms-notify-wrap{ position:relative; }
.ms-notify-menu{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:min(360px, calc(100vw - 32px));
  padding:10px;
  border:1px solid var(--ms-line);
  border-radius:var(--ms-radius);
  background:#fff;
  box-shadow:0 18px 50px rgba(37,55,102,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
  z-index:30;
}
.ms-notify-wrap:hover .ms-notify-menu,
.ms-notify-wrap:focus-within .ms-notify-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.ms-notify-title{ font-weight:900; padding:4px 6px 8px; }
.ms-notify-empty{ color:var(--ms-muted); padding:10px 6px; font-size:14px; }
.ms-notify-item{
  display:block;
  padding:10px;
  border-radius:var(--ms-radius);
  color:var(--ms-text);
  text-decoration:none;
}
.ms-notify-item:hover{ background:var(--ms-brand-soft); text-decoration:none; }
.ms-notify-item strong{ display:block; font-size:14px; }
.ms-notify-item span{ display:block; margin-top:4px; color:var(--ms-muted); font-size:14px; }
.ms-notify-all{
  display:block;
  margin-top:6px;
  padding:9px 10px;
  text-align:center;
  border-radius:var(--ms-radius);
  color:var(--ms-brand);
  background:var(--ms-brand-soft);
  font-weight:900;
  text-decoration:none;
}

.ms-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:18px;
  margin-top:18px;
}

.ms-card{
  grid-column:span 4;
  background:var(--ms-surface);
  border:1px solid var(--ms-line);
  border-radius:var(--ms-radius);
  box-shadow:var(--ms-shadow);
  padding:18px;
}

.ms-card.wide{ grid-column:span 8; }
.ms-card.full{ grid-column:1 / -1; }

.ms-kicker{
  color:var(--ms-muted);
  font-size:14px;
  font-weight:800;
}

.ms-stat{
  margin-top:10px;
  font-size:23px;
  color:var(--ms-text);
  font-weight:950;
  word-break:break-word;
}

.ms-stat-icon{
  width:44px;
  height:44px;
  float:right;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:var(--ms-brand);
  background:var(--ms-brand-soft);
}

.ms-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.ms-section-head h2{
  text-align:left;
  margin:0;
  color:var(--ms-text);
  font-size:18px;
}

.ms-muted{ color:var(--ms-muted); font-size:14px; }

.ms-actions-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:12px;
}

.ms-action-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid var(--ms-line);
  border-radius:var(--ms-radius);
  background:#fff;
  color:var(--ms-text);
  text-decoration:none;
  font-weight:900;
}

.ms-action-card:hover{
  color:var(--ms-brand);
  background:var(--ms-brand-soft);
  text-decoration:none;
}

.ms-action-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:999px;
  color:var(--ms-brand);
  background:var(--ms-brand-soft);
}

.dashboard-main{
  padding-bottom:34px;
}

.dashboard-topbar{
  margin-bottom:18px;
}

.dashboard-heading{
  min-width:0;
}

.dashboard-eyebrow,
.dashboard-hero-kicker{
  display:block;
  margin-bottom:5px;
  color:#7c8ba0;
  font-size:14px;
  font-weight:950;
  text-transform:uppercase;
}

.dashboard-top-link{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 14px;
  border:1px solid rgba(0,94,184,.18);
  border-radius:var(--ms-radius);
  background:var(--ms-brand-soft);
  color:var(--ms-brand);
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}

.dashboard-top-link:hover{
  background:#d8ebfb;
  color:var(--ms-brand);
  text-decoration:none;
  transform:translateY(-1px);
}

.dashboard-hero{
  display:grid;
  grid-template-columns:minmax(0, 1.45fr) minmax(280px, .75fr);
  gap:18px;
  align-items:stretch;
  padding:22px;
  border:1px solid rgba(0,94,184,.14);
  border-radius:var(--ms-radius);
  background:linear-gradient(135deg,#ffffff 0%, #f7fbff 68%, #fff7ed 100%);
  box-shadow:var(--ms-shadow);
}

.dashboard-hero-copy{
  min-width:0;
}

.dashboard-hero h2{
  max-width:760px;
  margin:0;
  color:var(--ms-text);
  font-size:28px;
  line-height:1.12;
  font-weight:950;
  text-align:left;
}

.dashboard-hero p{
  max-width:690px;
  margin:10px 0 0;
  color:var(--ms-muted);
  font-size:14px;
  line-height:1.55;
}

.dashboard-hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}

.dashboard-btn{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 15px;
  border-radius:var(--ms-radius);
  border:1px solid transparent;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}

.dashboard-btn.primary{
  background:var(--ms-brand);
  color:#fff;
  border-color:var(--ms-brand);
}

.dashboard-btn.secondary{
  background:#fff;
  color:var(--ms-brand);
  border-color:rgba(0,94,184,.18);
}

.dashboard-btn:hover{
  transform:translateY(-1px);
  text-decoration:none;
}

.dashboard-account-panel{
  display:grid;
  grid-template-columns:48px minmax(0, 1fr);
  align-content:start;
  gap:12px;
  padding:16px;
  border:1px solid rgba(0,94,184,.12);
  border-radius:var(--ms-radius);
  background:rgba(255,255,255,.76);
}

.dashboard-account-avatar{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:var(--ms-radius);
  background:linear-gradient(135deg,var(--ms-brand),#f78f13);
  color:#fff;
  font-weight:950;
  font-size:20px;
}

.dashboard-account-name{
  color:var(--ms-text);
  font-size:16px;
  font-weight:950;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-account-email{
  margin-top:4px;
  color:var(--ms-muted);
  font-size:14px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-account-list{
  grid-column:1 / -1;
  display:grid;
  gap:8px;
  margin:6px 0 0;
}

.dashboard-account-list div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:8px;
  border-top:1px solid rgba(0,94,184,.10);
}

.dashboard-account-list dt{
  color:var(--ms-muted);
  font-size:14px;
  font-weight:850;
}

.dashboard-account-list dd{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  color:var(--ms-text);
  font-size:14px;
  font-weight:950;
}

.dashboard-status-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--ms-success);
  box-shadow:0 0 0 3px rgba(19,222,185,.16);
}

.dashboard-stat-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:16px;
  margin-top:18px;
}

.dashboard-stat-card{
  min-height:128px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px;
  border:1px solid var(--ms-line);
  border-radius:var(--ms-radius);
  background:#fff;
  box-shadow:var(--ms-shadow);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.dashboard-stat-card:hover,
.dashboard-action-card:hover,
.dashboard-activity-item:hover{
  transform:translateY(-1px);
}

.dashboard-stat-card.blue{ border-top:3px solid var(--ms-brand); }
.dashboard-stat-card.orange{ border-top:3px solid var(--ms-warning); }
.dashboard-stat-card.green{ border-top:3px solid var(--ms-success); }

.dashboard-stat-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:var(--ms-radius);
  background:var(--ms-brand-soft);
  color:var(--ms-brand);
}

.dashboard-stat-card.orange .dashboard-stat-icon{
  background:#fff3e2;
  color:#a65404;
}

.dashboard-stat-card.green .dashboard-stat-icon{
  background:#e7fbf7;
  color:#087968;
}

.dashboard-stat-copy{
  min-width:0;
}

.dashboard-stat-label{
  color:var(--ms-muted);
  font-size:14px;
  font-weight:900;
}

.dashboard-stat-value{
  margin-top:7px;
  color:var(--ms-text);
  font-size:28px;
  line-height:1;
  font-weight:950;
  overflow-wrap:anywhere;
}

.dashboard-stat-detail{
  margin-top:7px;
  color:var(--ms-muted);
  font-size:14px;
  line-height:1.35;
  font-weight:800;
}

.dashboard-workspace{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .85fr);
  gap:18px;
  align-items:start;
  margin-top:18px;
}

.dashboard-panel{
  min-width:0;
  padding:18px;
  border:1px solid var(--ms-line);
  border-radius:var(--ms-radius);
  background:#fff;
  box-shadow:var(--ms-shadow);
}

.dashboard-actions-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.dashboard-action-card{
  min-height:92px;
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) 18px;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(0,94,184,.12);
  border-radius:var(--ms-radius);
  color:var(--ms-text);
  background:#fff;
  text-decoration:none;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
}

.dashboard-action-card:hover{
  border-color:rgba(0,94,184,.22);
  box-shadow:0 14px 34px rgba(0,56,101,.08);
  text-decoration:none;
}

.dashboard-action-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:var(--ms-radius);
  background:var(--ms-brand-soft);
  color:var(--ms-brand);
}

.dashboard-action-card.orange .dashboard-action-icon{
  background:#fff3e2;
  color:#a65404;
}

.dashboard-action-card.green .dashboard-action-icon{
  background:#e7fbf7;
  color:#087968;
}

.dashboard-action-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.dashboard-action-copy strong{
  color:var(--ms-text);
  font-size:14px;
  font-weight:950;
}

.dashboard-action-copy span{
  color:var(--ms-muted);
  font-size:14px;
  line-height:1.35;
}

.dashboard-action-arrow{
  color:#9aa4b2;
  font-size:14px;
}

.dashboard-view-all{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 10px;
  border-radius:var(--ms-radius);
  color:var(--ms-brand);
  background:var(--ms-brand-soft);
  font-size:14px;
  font-weight:950;
  text-decoration:none;
  white-space:nowrap;
}

.dashboard-view-all:hover{
  background:#d8ebfb;
  text-decoration:none;
}

.dashboard-activity-list{
  display:grid;
  gap:9px;
}

.dashboard-activity-item{
  display:grid;
  grid-template-columns:36px minmax(0, 1fr);
  gap:10px;
  padding:11px;
  border:1px solid rgba(0,94,184,.10);
  border-radius:var(--ms-radius);
  color:var(--ms-text);
  background:#fff;
  text-decoration:none;
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}

.dashboard-activity-item:hover{
  border-color:rgba(0,94,184,.20);
  background:#f8fbff;
  text-decoration:none;
}

.dashboard-activity-item.unread{
  background:#f7fbff;
  border-color:rgba(0,94,184,.18);
}

.dashboard-activity-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:var(--ms-radius);
  background:var(--ms-brand-soft);
  color:var(--ms-brand);
}

.dashboard-activity-copy{
  min-width:0;
}

.dashboard-activity-copy strong{
  display:block;
  color:var(--ms-text);
  font-size:14px;
  font-weight:950;
}

.dashboard-activity-copy span,
.dashboard-activity-copy small{
  display:block;
  margin-top:4px;
  color:var(--ms-muted);
  font-size:14px;
  line-height:1.35;
}

.dashboard-empty{
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(19,222,185,.18);
  border-radius:var(--ms-radius);
  background:#f0fffb;
}

.dashboard-empty-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:var(--ms-radius);
  background:#dffbf5;
  color:#087968;
}

.dashboard-empty strong,
.dashboard-empty span{
  display:block;
}

.dashboard-empty strong{
  color:var(--ms-text);
  font-size:14px;
}

.dashboard-empty span{
  margin-top:3px;
  color:var(--ms-muted);
  font-size:14px;
}

@media(max-width:1200px){
  .dashboard-stat-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .dashboard-workspace,
  .dashboard-hero{
    grid-template-columns:1fr;
  }
}

@media(max-width:980px){
  body.modern-auth-body .card.tm-login-card{
    grid-template-columns:1fr;
    width:min(520px, calc(100vw - 28px)) !important;
  }
  body.modern-auth-body .card.tm-register-card{
    width:min(640px, calc(100vw - 28px)) !important;
  }
  .tm-login-brand{
    min-height:auto;
    padding:28px 28px 34px;
  }
  .tm-login-brand::after{
    right:0;
    top:auto;
    bottom:-68px;
    width:100%;
    height:120px;
    border-radius:50% 50% 0 0 / 54% 54% 0 0;
  }
  .tm-login-logo-badge{
    margin-bottom:24px;
  }
  .tm-login-brand h1{
    font-size:28px;
  }
  body.modern-auth-body .card .tm-auth-illustration{
    width:min(180px, 58%);
    max-width:min(180px, 58%);
    max-height:150px;
    margin-top:18px;
  }
  body.modern-auth-body .card .tm-auth-illustration-register{
    width:min(260px, 70%);
    max-width:min(260px, 70%);
    max-height:210px;
    margin:20px 0 0;
  }
  .tm-login-form{
    min-height:auto;
    padding:34px 28px 30px;
  }
  .ms-app{ grid-template-columns:1fr; }
  .ms-sidebar{
    position:fixed;
    top:0;
    left:0;
    z-index:1100;
    width:min(300px, 86vw);
    height:100vh;
    border-right:1px solid var(--ms-line);
    border-bottom:0;
    box-shadow:18px 0 40px rgba(31,42,51,.18);
    transform:translateX(-104%);
    transition:transform .2s ease;
  }
  body.sidebar-open .ms-sidebar{
    transform:translateX(0);
  }
  .mobile-menu-toggle{
    position:fixed;
    top:16px;
    left:16px;
    z-index:1200;
    width:42px !important;
    height:42px;
    min-height:42px;
    display:grid;
    place-items:center;
    margin:0 !important;
    padding:0 !important;
    border-radius:999px !important;
    border:1px solid var(--ms-line) !important;
    color:var(--ms-brand) !important;
    background:var(--ms-surface) !important;
    box-shadow:0 10px 24px rgba(37,55,102,.14);
  }
  .mobile-menu-backdrop{
    position:fixed;
    inset:0;
    z-index:1050;
    background:rgba(16,24,32,.38);
  }
  body.sidebar-open .mobile-menu-backdrop{
    display:block;
  }
  .ms-nav{
    flex-direction:column;
    flex-wrap:nowrap;
  }
  .ms-main{
    padding:74px 16px 20px;
  }
  .ms-top-actions,
  .sales-action,
  .mg-header-actions{
    display:none !important;
  }
  .ms-card,
  .ms-card.wide{ grid-column:1 / -1; }
  .dashboard-main{
    padding-top:74px;
  }
}

@media(max-width:640px){
  body.modern-auth-body{
    padding:14px;
  }
  .tm-login-brand{
    padding:24px 22px 30px;
  }
  body.modern-auth-body .card .tm-auth-illustration{
    width:min(150px, 56%);
    max-width:min(150px, 56%);
    max-height:125px;
    margin-top:16px;
  }
  body.modern-auth-body .card .tm-auth-illustration-register{
    width:min(210px, 72%);
    max-width:min(210px, 72%);
    max-height:170px;
  }
  .tm-login-form{
    padding:28px 22px 24px;
  }
  .tm-login-card .tm-register-grid{
    grid-template-columns:1fr;
  }
  .dashboard-hero,
  .dashboard-panel,
  .dashboard-stat-card{
    padding:16px;
  }
  .dashboard-hero h2{
    font-size:24px;
  }
  .dashboard-stat-grid,
  .dashboard-actions-grid{
    grid-template-columns:1fr;
  }
  .dashboard-action-card{
    grid-template-columns:40px minmax(0, 1fr);
  }
  .dashboard-action-arrow{
    display:none;
  }
  .dashboard-btn{
    width:100%;
  }
  .tm-login-links{
    flex-direction:column;
    align-items:flex-start;
  }
  body.modern-auth-body .tm-login-card button[type="submit"]{
    width:100%;
  }
  .ms-topbar{ align-items:flex-start; flex-direction:column; }
  .ms-top-actions{ width:100%; justify-content:space-between; }
  .ms-user-meta strong{ max-width:160px; }
}
