:root {
  --sm-green: #00A350;
  --sm-green-dark: #008642;
  --sm-green-soft: #E6F7EE;
  --sm-bg: #EBEBEB;
  --sm-card: #FFFFFF;
  --sm-text: #000000;
  --sm-muted: #666666;
  --sm-border: #ECEFF3;
  --sm-danger: #EF4444;
  --sm-warning: #F59E0B;
  --sm-blue: #3B82F6;
  --sm-pink: #F05A92;
  --sm-orange: #F59E42;
  --sm-radius: 20px;
  --sm-shadow: 0 12px 36px rgba(25, 40, 55, .07);
  --sm-shadow-hover: 0 18px 44px rgba(0, 163, 80, .14);
  --sm-sidebar: 275px;
  --sm-transition: .25s ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.smcrm-fullscreen-template {
  margin: 0 !important;
  background: var(--sm-bg) !important;
  color: var(--sm-text);
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size:15px;
  line-height: 1.55;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body.smcrm-fullscreen-template #wpadminbar { display: none !important; }
#smcrm-app-root { min-height: 100vh; }
.smcrm-shell,
.sm-auth-page { font-family: "Poppins", system-ui, sans-serif; }
.smcrm-shell button,
.smcrm-shell input,
.smcrm-shell select,
.smcrm-shell textarea,
.sm-auth-page button,
.sm-auth-page input,
.sm-auth-page select,
.sm-auth-page textarea { font: inherit; }
.smcrm-shell a,
.sm-auth-page a { color: inherit; }
.sm-icon { width: 20px; height: 20px; flex: 0 0 auto; }
.sm-muted { color: var(--sm-muted); }

/* Authentication */
.sm-auth-page {
  min-height: 100vh;
  position: relative;
  display: grid;
  place-items: center;
  padding: 48px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 25%, rgba(0, 163, 80, .08), transparent 32%),
    linear-gradient(145deg, #FAFCFB 0%, #EEF8F2 48%, #F8FBF9 100%);
}
.sm-auth-shape { position: absolute; border-radius: 999px; filter: blur(.1px); pointer-events: none; }
.sm-auth-shape-one { width: 620px; height: 360px; right: -140px; top: -180px; background: linear-gradient(135deg, rgba(0,163,80,.82), rgba(73,190,122,.35)); transform: rotate(-9deg); }
.sm-auth-shape-two { width: 600px; height: 340px; left: -260px; bottom: -165px; background: linear-gradient(135deg, rgba(0,163,80,.16), rgba(0,163,80,.42)); transform: rotate(-12deg); }
.sm-auth-shape-three { width: 240px; height: 240px; right: 12%; bottom: 6%; background: rgba(255,255,255,.55); filter: blur(30px); }
.sm-auth-card {
  position: relative;
  z-index: 2;
  width: min(520px, 100%);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 30px;
  padding: 40px 48px 32px;
  box-shadow: 0 30px 70px rgba(15, 70, 38, .13), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(18px);
  animation: smFadeUp .55s ease both;
}
.sm-auth-card::after { content:""; position:absolute; inset:auto 0 0; height:35%; border-radius:0 0 30px 30px; background:linear-gradient(180deg, transparent, rgba(0,163,80,.07)); pointer-events:none; }
.sm-auth-logo-wrap { position: relative; width: 132px; height: 132px; margin: 0 auto 12px; display:grid; place-items:center; }
.sm-auth-logo-wrap img { width: 116px; height: 116px; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(0,0,0,.12)); position:relative; z-index:2; }
.sm-logo-dot { position:absolute; display:block; border-radius:50%; background:linear-gradient(145deg,#38C77C,#008E45); box-shadow:0 8px 16px rgba(0,163,80,.25); }
.sm-logo-dot.d1 { width:12px; height:12px; right:1px; top:15px; }
.sm-logo-dot.d2 { width:8px; height:8px; left:0; top:54px; }
.sm-logo-dot.d3 { width:6px; height:6px; right:10px; bottom:18px; }
.sm-auth-card > h1 { margin:0 0 24px; text-align:center; font-size:30px; line-height:1.2; font-weight:600; letter-spacing:-.5px; }
.sm-auth-card > h1 em { color:var(--sm-green); font-style:normal; }
.sm-auth-tabs { display:grid; grid-template-columns:1fr 1fr; margin:0 0 28px; border-bottom:2px solid #E6E9EC; }
.sm-auth-tabs a { position:relative; padding:12px; color:#969696; font-size:16px; font-weight:600; text-align:center; text-decoration:none; }
.sm-auth-tabs a::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px; background:transparent; }
.sm-auth-tabs a.is-active { color:var(--sm-green); }
.sm-auth-tabs a.is-active::after { background:linear-gradient(90deg,var(--sm-green),#56CD8D); }
.sm-auth-form { position:relative; z-index:2; display:grid; gap:16px; }
.sm-auth-intro { position:relative; z-index:2; text-align:center; margin:-6px 0 20px; }
.sm-auth-intro h2 { margin:0 0 8px; font-size:24px; }
.sm-auth-intro p { margin:0; color:var(--sm-muted); font-size:15px; }
.sm-input-group { position:relative; display:flex; align-items:center; min-height:56px; padding:0 14px; border-radius:999px; background:#fff; border:1px solid #EDF0EE; box-shadow:0 7px 18px rgba(19,61,35,.08), inset 0 1px 0 rgba(255,255,255,.8); }
.sm-input-group > span { color:var(--sm-green); display:grid; place-items:center; margin-right:10px; }
.sm-input-group input { flex:1; min-width:0; height:54px; padding:0; border:0 !important; outline:0; background:transparent !important; box-shadow:none !important; color:var(--sm-text); }
.sm-input-group input::placeholder { color:#989898; }
.sm-input-group button { width:38px; height:38px; border:0; background:transparent; color:#74BD92; display:grid; place-items:center; cursor:pointer; border-radius:50%; }
.sm-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sm-auth-options { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:2px 6px; font-size:14px; }
.sm-auth-options a, .sm-auth-switch a, .sm-terms a { color:var(--sm-green); text-decoration:none; font-weight:600; }
.sm-check { display:flex; align-items:flex-start; gap:8px; cursor:pointer; color:#333; }
.sm-check input { position:absolute; opacity:0; pointer-events:none; }
.sm-check > span { width:20px; height:20px; border-radius:5px; border:1.5px solid #73C394; background:#fff; flex:0 0 auto; position:relative; margin-top:1px; }
.sm-check input:checked + span { background:var(--sm-green); border-color:var(--sm-green); }
.sm-check input:checked + span::after { content:""; position:absolute; width:8px; height:4px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); left:5px; top:5px; }
.sm-terms { font-size:13px; line-height:1.5; }
.sm-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 18px; border:1px solid transparent; border-radius:13px; font-weight:600; text-decoration:none !important; cursor:pointer; transition:transform var(--sm-transition), box-shadow var(--sm-transition), background var(--sm-transition), border-color var(--sm-transition); position:relative; overflow:hidden; white-space:nowrap; }
.sm-btn:hover { transform:translateY(-2px); }
.sm-btn:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.sm-btn-primary { color:#fff !important; background:linear-gradient(135deg,#16B563,var(--sm-green-dark)); box-shadow:0 10px 22px rgba(0,163,80,.24); }
.sm-btn-primary:hover { box-shadow:0 14px 28px rgba(0,163,80,.33); }
.sm-btn-secondary { color:var(--sm-green) !important; background:#fff; border-color:#D8EEE2; box-shadow:0 6px 16px rgba(18,57,34,.05); }
.sm-btn-secondary:hover { background:#F3FBF7; border-color:#A9DBC0; }
.sm-btn-ghost { color:#4D5863 !important; background:#F6F7F8; border-color:#E8EBEE; }
.sm-btn-block { width:100%; min-height:58px; border-radius:999px; font-size:17px; letter-spacing:.2px; }
.sm-btn-sm { min-height:38px; padding:8px 14px; font-size:14px; }
.sm-btn-xs { min-height:30px; padding:5px 9px; font-size:13px; border-radius:9px; }
.sm-ripple { position:absolute; border-radius:50%; background:rgba(255,255,255,.35); transform:scale(0); animation:smRipple .6s linear; pointer-events:none; }
.sm-auth-divider { display:flex; align-items:center; gap:14px; color:#888; margin-top:12px; }
.sm-auth-divider::before,.sm-auth-divider::after { content:""; height:1px; background:#DDE2DF; flex:1; }
.sm-auth-switch { margin:0; text-align:center; color:#454545; font-size:15px; }
.sm-auth-site { position:relative; z-index:2; text-align:center; color:#8B8B8B; font-size:13px; margin:24px 0 0; }
.sm-auth-feedback,.sm-verification-note { position:relative; z-index:2; display:flex; gap:9px; align-items:flex-start; padding:12px 14px; border-radius:13px; font-size:14px; }
.sm-auth-feedback.is-error { background:#FFF0F0; color:#B42318; }
.sm-auth-feedback.is-success { background:#EAF9F1; color:#087A3D; }
.sm-auth-feedback.is-warning { background:#FFF8E7; color:#9A6500; }
.sm-kpi-card small.sm-neutral { color:var(--sm-muted); }
.sm-verification-note { padding:8px 3px; color:var(--sm-green); background:transparent; }
.sm-password-strength { display:grid; gap:7px; margin-top:-7px; padding:0 8px; }
.sm-password-strength > span { height:4px; width:0; border-radius:999px; background:var(--sm-danger); transition:width .25s ease,background .25s ease; }
.sm-password-strength small { color:#8B8B8B; font-size:13px; }
.sm-auth-result { position:relative; z-index:2; text-align:center; }
.sm-auth-result > span { width:76px; height:76px; margin:0 auto 16px; display:grid; place-items:center; border-radius:50%; background:#EAF9F1; color:var(--sm-green); }
.sm-auth-result > span .sm-icon { width:36px; height:36px; }
.sm-auth-result.is-error > span { background:#FFF0F0; color:var(--sm-danger); }
.sm-auth-result h2 { margin:0 0 8px; }
.sm-auth-result p { color:var(--sm-muted); margin:0 0 22px; }

/* Main shell */
.smcrm-shell { min-height:100vh; display:grid; grid-template-columns:var(--sm-sidebar) minmax(0,1fr); background:linear-gradient(135deg,#F7F8FA 0%,#EFF1F4 100%); }
.sm-sidebar {
  width:var(--sm-sidebar); height:calc(100vh - 16px); position:fixed; z-index:40; inset:8px auto 8px 8px; display:flex; flex-direction:column; padding:18px 12px 16px; background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.9); border-radius:22px; box-shadow:0 15px 40px rgba(35,48,61,.09); backdrop-filter:blur(18px); transition:width var(--sm-transition),transform var(--sm-transition); overflow:hidden; }
.sm-brand { min-height:64px; display:flex; align-items:center; gap:10px; padding:0 7px 12px; position:relative; flex:0 0 auto; }
.sm-brand img { width:52px; height:52px; object-fit:contain; flex:0 0 auto; }
.sm-brand-copy { min-width:0; display:flex; flex-direction:column; }
.sm-brand-copy strong { font-size:16px; line-height:1.2; letter-spacing:-.2px; white-space:nowrap; }
.sm-brand-copy small { font-size:12px; color:var(--sm-muted); margin-top:3px; white-space:nowrap; }
.sm-sidebar-collapse { width:28px; height:28px; position:absolute; right:-2px; top:18px; border:0; border-radius:10px; background:#F2F6F4; color:var(--sm-green); display:grid; place-items:center; cursor:pointer; opacity:0; transition:opacity .2s ease; }
.sm-brand:hover .sm-sidebar-collapse { opacity:1; }
.sm-sidebar-collapse .sm-icon { width:15px; height:15px; }
.sm-nav { display:flex; flex-direction:column; gap:3px; overflow-y:auto; overflow-x:hidden; padding:2px 2px 10px; scrollbar-width:thin; scrollbar-color:#D6E5DC transparent; }
.sm-nav-item { min-height:42px; display:flex; align-items:center; gap:12px; padding:9px 12px; border-radius:11px; color:#4C5560 !important; font-size:14px; font-weight:500; text-decoration:none !important; white-space:nowrap; transition:background var(--sm-transition),color var(--sm-transition),box-shadow var(--sm-transition),transform var(--sm-transition); }
.sm-nav-item .sm-icon { width:18px; height:18px; color:var(--sm-green); }
.sm-nav-item:hover { background:#F0FAF5; color:#111 !important; transform:translateX(2px); }
.sm-nav-item.is-active { color:#fff !important; background:linear-gradient(135deg,#09B85A,#009548); box-shadow:0 10px 22px rgba(0,163,80,.23); }
.sm-nav-item.is-active .sm-icon { color:#fff; }
.sm-nav-badge { margin-left:auto; min-width:22px; height:22px; display:grid; place-items:center; padding:0 6px; border-radius:999px; background:#E9F7EF; color:var(--sm-green); font-size:13px; font-weight:700; }
.sm-nav-item.is-active .sm-nav-badge { background:rgba(255,255,255,.2); color:#fff; }
.sm-support-card { margin:auto 4px 10px; padding:18px 14px; border:1px solid #EAF0EC; border-radius:18px; text-align:center; background:linear-gradient(180deg,#fff,#F8FCFA); box-shadow:0 10px 24px rgba(35,48,61,.06); transition:opacity .2s ease; }
.sm-support-icon { width:48px; height:48px; display:grid; place-items:center; margin:0 auto 10px; border-radius:50%; color:var(--sm-green); background:#E5F7EE; }
.sm-support-card strong { display:block; color:var(--sm-green); margin-bottom:4px; }
.sm-support-card p { margin:0 0 12px; color:var(--sm-muted); font-size:13px; }
.sm-support-card .sm-btn { width:100%; }
.sm-logout { color:#D73B3B !important; flex:0 0 auto; }
.sm-logout .sm-icon { color:#D73B3B; }
.sm-main { grid-column:2; min-width:0; min-height:100vh; padding:18px 24px 120px; transition:margin var(--sm-transition); }
.sm-topbar { min-height:82px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:16px; }
.sm-heading { min-width:260px; }
.sm-heading p { margin:0 0 2px; color:#39414A; font-size:14px; }
.sm-heading h1 { margin:0; font-size:29px; line-height:1.25; font-weight:600; letter-spacing:-.7px; }
.sm-heading > span { display:block; margin-top:3px; color:var(--sm-muted); font-size:13px; }
.sm-header-tools { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.sm-global-search { width:min(260px,22vw); min-width:190px; height:46px; display:flex; align-items:center; gap:9px; padding:0 14px; background:#fff; border:1px solid #EEF0F3; border-radius:999px; box-shadow:0 8px 22px rgba(33,47,61,.07); color:#7C8792; }
.sm-global-search .sm-icon { width:17px; height:17px; }
.sm-global-search input { min-width:0; width:100%; border:0; outline:0; background:transparent; font-size:13px; }
.sm-icon-button { width:44px; height:44px; border:1px solid #EEF0F2; border-radius:50%; background:#fff; color:#26313B; display:grid; place-items:center; cursor:pointer; box-shadow:0 8px 22px rgba(33,47,61,.07); position:relative; transition:transform var(--sm-transition),box-shadow var(--sm-transition); }
.sm-icon-button:hover { transform:translateY(-2px); box-shadow:var(--sm-shadow-hover); color:var(--sm-green); }
.sm-icon-button .sm-icon { width:18px; height:18px; }
.sm-count-badge { position:absolute; top:-4px; right:-3px; min-width:18px; height:18px; padding:0 5px; display:grid; place-items:center; border-radius:999px; background:var(--sm-green); color:#fff; font-size:12px; font-weight:700; border:2px solid #fff; }
.sm-date-chip { height:46px; display:flex; align-items:center; gap:10px; padding:0 14px; border:1px solid #EEF0F2; border-radius:16px; background:#fff; box-shadow:0 8px 22px rgba(33,47,61,.07); }
.sm-date-chip > span { color:var(--sm-green); display:grid; place-items:center; }
.sm-date-chip div { display:flex; flex-direction:column; line-height:1.2; }
.sm-date-chip strong { font-size:13px; font-weight:600; }
.sm-date-chip small { font-size:12px; color:var(--sm-muted); }
.sm-profile-chip { min-width:176px; height:48px; display:flex; align-items:center; gap:9px; padding:4px 10px 4px 5px; border:1px solid #EEF0F2; border-radius:999px; background:#fff; cursor:pointer; box-shadow:0 8px 22px rgba(33,47,61,.07); }
.sm-profile-chip img { width:38px; height:38px; border-radius:50%; object-fit:cover; border:2px solid #E5F5EC; }
.sm-profile-chip > span { min-width:0; display:flex; flex-direction:column; align-items:flex-start; line-height:1.2; flex:1; }
.sm-profile-chip strong { font-size:13px; white-space:nowrap; max-width:100px; overflow:hidden; text-overflow:ellipsis; }
.sm-profile-chip small { color:var(--sm-green); font-size:11px; }
.sm-profile-chip > .sm-icon { width:14px; height:14px; }
.sm-dropdown-wrap { position:relative; }
.sm-dropdown { position:absolute; z-index:80; top:calc(100% + 10px); right:0; width:330px; max-height:480px; overflow:auto; background:#fff; border:1px solid #EDF0F2; border-radius:18px; box-shadow:0 22px 55px rgba(22,35,46,.16); opacity:0; visibility:hidden; transform:translateY(-8px) scale(.98); transform-origin:top right; transition:all .2s ease; }
.sm-dropdown.is-open { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.sm-dropdown-head { display:flex; align-items:center; justify-content:space-between; padding:16px 16px 10px; border-bottom:1px solid #F0F2F4; }
.sm-dropdown-head strong { font-size:15px; }
.sm-dropdown-head button { border:0; background:transparent; color:var(--sm-green); font-size:12px; cursor:pointer; }
.sm-dropdown-list { padding:6px; }
.sm-dropdown-item { display:flex; gap:10px; padding:10px; border-radius:12px; text-decoration:none !important; }
.sm-dropdown-item:hover { background:#F5FAF7; }
.sm-dropdown-item.is-unread { background:#F0FAF5; }
.sm-mini-icon { width:34px; height:34px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#E4F7ED; color:var(--sm-green); }
.sm-mini-icon .sm-icon { width:15px; height:15px; }
.sm-dropdown-item > span:last-child { min-width:0; display:flex; flex-direction:column; }
.sm-dropdown-item strong { font-size:13px; }
.sm-dropdown-item small { color:var(--sm-muted); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:230px; }
.sm-dropdown-item time { color:#999; font-size:11px; margin-top:3px; }
.sm-dropdown-footer { height:42px; display:flex; align-items:center; justify-content:center; gap:8px; color:var(--sm-green) !important; border-top:1px solid #F0F2F4; text-decoration:none !important; font-size:13px; font-weight:600; }
.sm-dropdown-footer .sm-icon { width:14px; height:14px; }
.sm-profile-menu { width:210px; padding:7px; }
.sm-profile-menu a { display:flex; align-items:center; gap:9px; padding:10px; border-radius:10px; text-decoration:none !important; font-size:13px; }
.sm-profile-menu a:hover { background:#F1F8F4; color:var(--sm-green); }
.sm-profile-menu .sm-icon { width:16px; height:16px; }
.sm-empty-mini { padding:28px 14px; text-align:center; color:var(--sm-muted); font-size:13px; }
.sm-mobile-menu { display:none; }
.sm-content { animation:smFadeIn .35s ease both; }
.sm-footer { text-align:center; color:#858E97; font-size:12px; margin-top:30px; }

/* Notices */
.sm-notice { display:flex; align-items:center; gap:10px; min-height:48px; margin-bottom:16px; padding:10px 14px; border-radius:14px; border:1px solid #DCEFE4; background:#F1FBF5; color:#08783D; box-shadow:0 7px 18px rgba(28,70,45,.05); }
.sm-notice.is-error { background:#FFF2F2; border-color:#FAD5D5; color:#B42318; }
.sm-notice.is-warning { background:#FFF8E9; border-color:#FBE8B8; color:#8A5A00; }
.sm-notice.is-info { background:#EFF6FF; border-color:#D4E6FF; color:#215EA7; }
.sm-notice span { flex:1; font-size:13px; }
.sm-notice button { border:0; background:transparent; font-size:22px; line-height:1; color:inherit; cursor:pointer; }

/* Generic layout and cards */
.sm-card { background:var(--sm-card); border:1px solid rgba(236,239,243,.9); border-radius:var(--sm-radius); box-shadow:var(--sm-shadow); transition:transform var(--sm-transition),box-shadow var(--sm-transition); }
.sm-card:hover { box-shadow:var(--sm-shadow-hover); }
.sm-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.sm-card-head h2,.sm-card-head h3 { margin:0; font-size:15px; font-weight:600; }
.sm-card-head p { margin:3px 0 0; color:var(--sm-muted); font-size:13px; }
.sm-card-head select { min-height:32px; padding:5px 28px 5px 10px; border-radius:9px; border:1px solid #EDF0F2; background:#FAFBFC; color:#58616B; font-size:12px; }
.sm-page-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.sm-page-actions > div:first-child { min-width:0; }
.sm-page-actions > div:last-child { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.sm-page-actions h2 { margin:0; font-size:22px; font-weight:600; }
.sm-page-actions p { margin:4px 0 0; color:var(--sm-muted); font-size:13px; }
.sm-eyebrow { color:var(--sm-green); font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:1.2px; }

/* Dashboard */
.sm-kpi-grid { display:grid; grid-template-columns:repeat(5,minmax(150px,1fr)); gap:14px; margin-bottom:16px; }
.sm-kpi-card { min-height:114px; display:flex; justify-content:space-between; gap:10px; padding:20px; background:#fff; border:1px solid #EDF0F3; border-radius:17px; box-shadow:var(--sm-shadow); transition:transform var(--sm-transition),box-shadow var(--sm-transition); }
.sm-kpi-card:hover { transform:translateY(-4px); box-shadow:var(--sm-shadow-hover); }
.sm-kpi-card > div { display:flex; flex-direction:column; min-width:0; }
.sm-kpi-card > div > span { color:#26323D; font-size:13px; }
.sm-kpi-card strong { margin:7px 0 2px; font-size:27px; line-height:1.1; font-weight:600; letter-spacing:-.6px; }
.sm-kpi-card small { font-size:11px; font-weight:600; }
.sm-kpi-card small em { color:var(--sm-muted); font-style:normal; font-weight:400; }
.sm-positive { color:var(--sm-green) !important; }
.sm-negative { color:var(--sm-danger) !important; }
.sm-kpi-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; flex:0 0 auto; }
.sm-kpi-icon .sm-icon { width:22px; height:22px; }
.tone-green { color:#04984B !important; background:#DDF5E8 !important; }
.tone-blue { color:#2877E5 !important; background:#E0EDFF !important; }
.tone-pink { color:#E63D78 !important; background:#FFE2EC !important; }
.tone-red { color:#EB4E43 !important; background:#FFE7E3 !important; }
.tone-orange { color:#EA8B22 !important; background:#FFF0D9 !important; }
.sm-dashboard-main-grid { display:grid; grid-template-columns:minmax(340px,.95fr) minmax(480px,1.25fr) 220px; gap:16px; margin-bottom:16px; }
.sm-pipeline-summary,.sm-revenue-chart { padding:18px; min-height:296px; }
.sm-pipeline-summary-body { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:18px; height:calc(100% - 30px); }
.sm-donut { width:112px; aspect-ratio:1; border-radius:50%; display:grid; place-items:center; position:relative; flex:0 0 auto; }
.sm-donut::before { content:""; position:absolute; inset:23%; border-radius:50%; background:#fff; box-shadow:inset 0 0 0 1px #F1F3F5; }
.sm-donut > div { position:relative; z-index:2; text-align:center; display:flex; flex-direction:column; }
.sm-donut > div strong { font-size:24px; line-height:1; }
.sm-donut > div span { color:var(--sm-muted); font-size:12px; margin-top:5px; }
.sm-donut-large { width:min(175px,100%); margin:auto; }
.sm-donut-legend,.sm-compact-legend,.sm-performance-card ul,.sm-project-performance ul,.sm-list-card ul,.sm-upcoming-card ul,.sm-role-card ul { list-style:none; padding:0; margin:0; }
.sm-donut-legend { display:grid; gap:8px; }
.sm-donut-legend li { display:grid; grid-template-columns:8px 1fr auto; align-items:center; gap:8px; font-size:12px; }
.sm-donut-legend li > span { width:7px; height:7px; border-radius:50%; background:hsl(calc(145deg - var(--shade) * 7deg),65%,calc(37% + var(--shade) * 5%)); }
.sm-donut-legend b { font-weight:500; color:#4A5560; }
.sm-donut-legend em { color:#5D6874; font-style:normal; }
.sm-revenue-total { display:block; color:var(--sm-green); font-size:22px; margin-top:7px; }
.sm-revenue-chart .sm-card-head small { display:block; margin-top:3px; font-size:11px; }
.sm-revenue-chart .sm-card-head small span { color:var(--sm-muted); }
.sm-chart-container { position:relative; height:205px; margin-top:5px; }
.sm-chart-container canvas { width:100% !important; height:100% !important; display:block; }
.sm-quick-stats { display:grid; grid-template-rows:repeat(4,1fr); gap:14px; }
.sm-quick-card { min-height:62px; padding:15px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sm-quick-card > div { display:flex; flex-direction:column; }
.sm-quick-card > div > span { color:#26323D; font-size:12px; }
.sm-quick-card strong { font-size:23px; line-height:1.25; font-weight:600; }
.sm-quick-card a { display:flex; align-items:center; gap:5px; color:var(--sm-green) !important; font-size:11px; text-decoration:none !important; }
.sm-quick-card a .sm-icon { width:12px; height:12px; }
.sm-quick-card .sm-kpi-icon { width:42px; height:42px; }
.sm-dashboard-mid-grid { display:grid; grid-template-columns:.8fr 1fr 1.1fr; gap:16px; margin-bottom:16px; }
.sm-dashboard-mid-grid > .sm-card { min-height:184px; padding:16px; }
.sm-small-chart-body { display:flex; align-items:center; gap:18px; margin-top:12px; }
.sm-compact-legend { flex:1; display:grid; gap:8px; }
.sm-compact-legend li { display:grid; grid-template-columns:7px 1fr auto; gap:7px; align-items:center; font-size:11px; }
.sm-compact-legend li > span { width:7px; height:7px; border-radius:50%; background:hsl(calc(145deg + var(--i) * 12deg),65%,calc(36% + var(--i) * 6%)); }
.sm-compact-legend b { font-weight:500; }
.sm-compact-legend em { font-style:normal; color:var(--sm-muted); }
.sm-performance-card ul,.sm-project-performance ul { display:grid; gap:8px; margin-top:12px; }
.sm-performance-card li { display:grid; grid-template-columns:25px minmax(85px,1fr) 90px 25px; align-items:center; gap:7px; font-size:11px; }
.sm-performance-card li img { width:24px; height:24px; border-radius:50%; object-fit:cover; }
.sm-performance-card li > span { display:flex; justify-content:space-between; gap:4px; }
.sm-performance-card li b { font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sm-performance-card li small { color:var(--sm-muted); white-space:nowrap; }
.sm-progress { height:6px; border-radius:999px; background:#EDEFF3; overflow:hidden; }
.sm-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--sm-green),#43C77F); }
.sm-performance-card li em { color:var(--sm-muted); font-style:normal; text-align:right; }
.sm-project-performance li { display:grid; grid-template-columns:22px 1fr auto auto; align-items:center; gap:7px; font-size:11px; }
.sm-project-icon { width:20px; height:20px; display:grid; place-items:center; border-radius:50%; background:#E8F8EF; color:var(--sm-green); }
.sm-project-icon .sm-icon { width:11px; height:11px; }
.sm-project-performance li b { font-weight:500; }
.sm-project-performance li small { color:var(--sm-muted); }
.sm-project-performance li em { padding:3px 6px; border-radius:999px; color:var(--sm-green); background:#E9F8F0; font-style:normal; }
.sm-dashboard-bottom-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.sm-list-card { min-height:205px; padding:16px; }
.sm-list-card ul { display:grid; gap:8px; margin-top:12px; }
.sm-list-card li { min-height:25px; display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:7px; font-size:11px; }
.sm-list-card li img { width:23px; height:23px; border-radius:50%; object-fit:cover; }
.sm-list-card li > span:nth-child(2) { display:flex; flex-direction:column; min-width:0; }
.sm-list-card li b { font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sm-list-card li small { color:var(--sm-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sm-list-card li time { color:#7F8993; white-space:nowrap; font-size:10px; }
.sm-list-icon { width:22px; height:22px; display:grid; place-items:center; border-radius:7px; color:var(--sm-green); background:#ECF9F2; }
.sm-list-icon .sm-icon { width:11px; height:11px; }
.sm-card-link { display:flex; align-items:center; gap:8px; margin-top:14px; color:var(--sm-green) !important; font-size:11px; text-decoration:none !important; }
.sm-card-link .sm-icon { width:13px; height:13px; }
.sm-empty-row { color:var(--sm-muted); font-size:13px !important; display:block !important; padding:18px 0; text-align:center; }

/* Forms and filters */
.sm-filter-bar { display:flex; align-items:center; gap:9px; padding:12px; margin-bottom:16px; }
.sm-filter-bar input,.sm-filter-bar select,.sm-form-grid input,.sm-form-grid select,.sm-form-grid textarea,.sm-settings-layout input,.sm-settings-layout select,.sm-settings-layout textarea,.sm-profile-form input,.sm-message-form input,.sm-message-form select,.sm-message-form textarea,.sm-export-card input,.sm-export-card select,.sm-upload-card select {
  width:100%; min-height:42px; border:1px solid #E6EAED; border-radius:11px; padding:9px 12px; background:#FAFBFC; color:#222; outline:0; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.sm-form-grid textarea,.sm-settings-layout textarea,.sm-profile-form textarea,.sm-message-form textarea { resize:vertical; min-height:100px; }
.sm-filter-bar input:focus,.sm-filter-bar select:focus,.sm-form-grid input:focus,.sm-form-grid select:focus,.sm-form-grid textarea:focus,.sm-settings-layout input:focus,.sm-settings-layout select:focus,.sm-settings-layout textarea:focus,.sm-profile-form input:focus,.sm-message-form input:focus,.sm-message-form select:focus,.sm-message-form textarea:focus,.sm-export-card input:focus,.sm-export-card select:focus,.sm-upload-card select:focus { border-color:#83CFAB; box-shadow:0 0 0 3px rgba(0,163,80,.08); background:#fff; }
.sm-filter-search { min-width:250px; flex:1; display:flex; align-items:center; gap:8px; padding:0 12px; min-height:42px; border:1px solid #E6EAED; border-radius:11px; background:#FAFBFC; color:#89939D; }
.sm-filter-search input { border:0; background:transparent; padding:0; box-shadow:none; min-height:auto; }
.sm-filter-search .sm-icon { width:16px; height:16px; }
.sm-filter-bar > select { width:auto; min-width:135px; }
.sm-filter-bar > label:not(.sm-filter-search) { display:grid; gap:4px; color:var(--sm-muted); font-size:12px; }
.sm-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sm-form-grid label,.sm-settings-layout label,.sm-profile-form label,.sm-message-form label,.sm-upload-card label { display:grid; gap:6px; color:#4A535C; font-size:13px; font-weight:500; }
.sm-form-grid label small,.sm-profile-form label small { color:var(--sm-muted); font-size:11px; font-weight:400; }
.sm-field-span-2 { grid-column:1/-1; }

/* Tables */
.sm-table-card { overflow:hidden; }
.sm-table-toolbar { min-height:66px; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:14px; border-bottom:1px solid #EFF1F3; }
.sm-table-toolbar > div { display:flex; flex-direction:column; }
.sm-table-toolbar strong { font-size:15px; }
.sm-table-toolbar span { color:var(--sm-muted); font-size:12px; }
.sm-table-search { width:230px; height:38px; display:flex; align-items:center; gap:8px; padding:0 11px; border:1px solid #E7EAED; border-radius:10px; background:#FAFBFC; color:#89939D; }
.sm-table-search input { min-width:0; width:100%; border:0; outline:0; background:transparent; font-size:12px; }
.sm-table-search .sm-icon { width:15px; height:15px; }
.sm-bulk-bar { display:flex; align-items:center; gap:8px; padding:9px 16px; border-bottom:1px solid #EFF1F3; background:#FAFCFB; }
.sm-bulk-bar select { min-height:34px; border:1px solid #E4E8EB; border-radius:9px; background:#fff; padding:5px 28px 5px 9px; font-size:12px; }
.sm-table-wrap { width:100%; overflow:auto; }
.sm-table-wrap table { width:100%; min-width:1000px; border-collapse:separate; border-spacing:0; }
.sm-table-wrap th { position:sticky; top:0; z-index:3; height:46px; padding:10px 13px; background:#FAFBFC; border-bottom:1px solid #E9ECEF; color:#69737D; text-align:left; font-size:12px; font-weight:600; white-space:nowrap; cursor:default; }
.sm-table-wrap th[data-sort] { cursor:pointer; }
.sm-table-wrap th[data-sort]::after { content:"↕"; margin-left:5px; opacity:.35; }
.sm-table-wrap td { padding:12px 13px; border-bottom:1px solid #F0F1F3; color:#303943; font-size:12px; vertical-align:middle; }
.sm-table-wrap tbody tr { transition:background .2s ease,transform .2s ease; }
.sm-table-wrap tbody tr:hover { background:#F7FCF9; }
.sm-table-wrap td strong { display:block; font-size:12px; font-weight:600; }
.sm-table-wrap td small { display:block; color:var(--sm-muted); font-size:11px; margin-top:2px; }
.sm-table-wrap input[type="checkbox"] { accent-color:var(--sm-green); }
.sm-lead-id { color:#246B46; font-weight:600; }
.sm-person-cell { display:flex; align-items:center; gap:9px; min-width:150px; }
.sm-person-cell.compact { min-width:115px; }
.sm-person-cell img,.sm-avatar-initial { width:34px; height:34px; border-radius:50%; flex:0 0 auto; object-fit:cover; }
.sm-avatar-initial { display:grid; place-items:center; background:linear-gradient(145deg,#DDF5E8,#BEE9D0); color:var(--sm-green-dark); font-size:14px; font-weight:700; }
.sm-person-cell > span { min-width:0; }
.sm-status,.sm-priority { display:inline-flex; align-items:center; justify-content:center; min-height:24px; padding:3px 9px; border-radius:999px; font-size:11px; font-weight:600; white-space:nowrap; }
.sm-status-new,.sm-status-pending,.sm-status-scheduled { background:#EEF1FF; color:#5564D8; }
.sm-status-contacted,.sm-status-in-progress,.sm-status-rescheduled { background:#E9F4FF; color:#3478C8; }
.sm-status-interested,.sm-status-meeting,.sm-status-visit,.sm-status-negotiation { background:#FFF5DD; color:#9A6A00; }
.sm-status-booking,.sm-status-payment { background:#E7F8EF; color:#078646; }
.sm-status-converted,.sm-status-active,.sm-status-completed { background:#E7F8EF; color:#08783D; }
.sm-status-lost,.sm-status-suspended,.sm-status-cancelled { background:#FFF0F0; color:#B42318; }
.sm-status-archived,.sm-status-inactive { background:#EFF1F3; color:#69737D; }
.sm-priority-cold,.sm-priority-low { background:#EAF2FF; color:#3570B8; }
.sm-priority-warm,.sm-priority-medium { background:#FFF3DB; color:#A36A00; }
.sm-priority-hot,.sm-priority-high,.sm-priority-urgent { background:#FFE6E6; color:#C03333; }
.sm-row-actions { display:flex; align-items:center; gap:5px; }
.sm-row-actions a,.sm-row-actions button { width:30px; height:30px; display:grid; place-items:center; border:1px solid #E8EBEE; border-radius:9px; background:#fff; color:#52606B !important; text-decoration:none !important; cursor:pointer; }
.sm-row-actions a:hover { border-color:#B9E1CA; color:var(--sm-green) !important; background:#F4FBF7; }
.sm-row-actions .is-danger { color:#D83E3E !important; }
.sm-row-actions .sm-icon { width:14px; height:14px; }
.sm-row-actions.text-actions a { width:auto; padding:0 9px; font-size:11px; }
.sm-table-pagination { min-height:54px; display:flex; align-items:center; justify-content:flex-end; gap:5px; padding:10px 14px; }
.sm-table-pagination button { min-width:30px; height:30px; border:1px solid #E4E8EB; border-radius:8px; background:#fff; color:#53606B; cursor:pointer; font-size:12px; }
.sm-table-pagination button.is-active { background:var(--sm-green); color:#fff; border-color:var(--sm-green); }
.sm-table-pagination button:disabled { opacity:.4; cursor:not-allowed; }
.sm-empty-state { min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:30px; text-align:center; color:var(--sm-muted); }
.sm-empty-state.compact { min-height:120px; }
.sm-empty-state > .sm-icon { width:42px; height:42px; color:#9BCEB1; margin-bottom:10px; }
.sm-empty-state strong { color:#2D3740; font-size:15px; }
.sm-empty-state p { margin:5px 0 14px; font-size:13px; }

/* Modals */
.sm-modal { position:fixed; z-index:120; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(16,27,35,.42); backdrop-filter:blur(5px); opacity:0; visibility:hidden; transition:opacity .2s ease,visibility .2s ease; }
.sm-modal.is-open { opacity:1; visibility:visible; }
.sm-modal-dialog { width:min(680px,100%); max-height:calc(100vh - 48px); overflow:auto; background:#fff; border-radius:22px; box-shadow:0 30px 90px rgba(7,25,17,.28); transform:translateY(24px) scale(.98); transition:transform .25s ease; }
.sm-modal.is-open .sm-modal-dialog { transform:translateY(0) scale(1); }
.sm-modal-wide .sm-modal-dialog,.sm-modal-dialog.sm-modal-wide { width:min(880px,100%); }
.sm-modal-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 20px; border-bottom:1px solid #EEF0F2; position:sticky; top:0; z-index:2; background:#fff; }
.sm-modal-head span { color:var(--sm-green); font-size:12px; text-transform:uppercase; letter-spacing:.8px; }
.sm-modal-head h3 { margin:2px 0 0; font-size:19px; }
.sm-modal-head button { width:34px; height:34px; border:0; border-radius:10px; background:#F4F6F7; color:#535D66; display:grid; place-items:center; cursor:pointer; }
.sm-modal-dialog > form { padding:20px; }
.sm-modal-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; padding-top:5px; }
body.sm-modal-open { overflow:hidden; }

/* Pipeline */
.sm-pipeline-board { display:flex; gap:12px; overflow-x:auto; padding:14px; min-height:600px; }
.sm-pipeline-column { width:250px; min-width:250px; border-radius:15px; background:#F4F6F7; padding:10px; }
.sm-pipeline-column > header { display:grid; grid-template-columns:9px 1fr auto; align-items:center; gap:7px; padding:4px 4px 10px; }
.sm-pipeline-column h3 { margin:0; font-size:13px; font-weight:600; }
.sm-pipeline-column header b { min-width:23px; height:23px; display:grid; place-items:center; border-radius:999px; background:#fff; color:#65717C; font-size:11px; }
.sm-pipeline-dot { width:8px; height:8px; border-radius:50%; background:var(--sm-green); }
.status-contacted { background:#4291F5; }.status-interested { background:#E4B33B; }.status-meeting { background:#8069ED; }.status-visit { background:#F08D42; }.status-negotiation { background:#2AB6A2; }.status-booking { background:#C85CC5; }.status-payment { background:#4AAE72; }.status-converted { background:#00A350; }.status-lost { background:#EF5350; }
.sm-pipeline-dropzone { min-height:520px; display:flex; flex-direction:column; gap:8px; border-radius:11px; transition:background .2s ease; }
.sm-pipeline-column.is-drag-over .sm-pipeline-dropzone { background:rgba(0,163,80,.08); outline:2px dashed rgba(0,163,80,.35); }
.sm-pipeline-card { padding:12px; border-radius:12px; background:#fff; border:1px solid #EAEDF0; box-shadow:0 5px 14px rgba(31,45,56,.06); cursor:grab; transition:transform .2s ease,box-shadow .2s ease; }
.sm-pipeline-card:active { cursor:grabbing; }
.sm-pipeline-card.is-dragging { opacity:.55; transform:rotate(1deg) scale(.98); }
.sm-pipeline-card:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(0,163,80,.12); }
.sm-pipeline-card > div { display:flex; align-items:center; gap:8px; }
.sm-pipeline-card .sm-avatar-initial { width:29px; height:29px; font-size:13px; }
.sm-pipeline-card strong { display:block; font-size:13px; }
.sm-pipeline-card small { display:block; color:var(--sm-muted); font-size:11px; }
.sm-pipeline-card p { margin:10px 0; color:#5D6873; font-size:11px; }
.sm-pipeline-card footer { display:flex; align-items:center; justify-content:space-between; }
.sm-pipeline-card footer b { font-size:11px; }
.sm-pipeline-empty { min-height:80px; display:grid; place-items:center; color:#A0A8AF; font-size:12px; border:1px dashed #D9DEE2; border-radius:10px; }

/* Projects */
.sm-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sm-project-card { padding:18px; }
.sm-project-card-top { display:flex; align-items:center; justify-content:space-between; }
.sm-project-mark { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:#E8F8EF; color:var(--sm-green); }
.sm-project-card h3 { margin:14px 0 3px; font-size:16px; }
.sm-project-card > p { margin:0; display:flex; align-items:center; gap:5px; color:var(--sm-muted); font-size:12px; }
.sm-project-card > p .sm-icon { width:13px; height:13px; }
.sm-project-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:18px 0; }
.sm-project-metrics span { min-width:0; padding:10px; border-radius:11px; background:#F8FAF9; }
.sm-project-metrics b { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; }
.sm-project-metrics small { color:var(--sm-muted); font-size:11px; }
.sm-project-availability > div:first-child { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; font-size:11px; color:var(--sm-muted); }
.sm-project-availability b { color:#303943; }
.sm-project-card footer { display:flex; align-items:center; justify-content:space-between; margin-top:17px; padding-top:12px; border-top:1px solid #EFF1F3; }
.sm-project-card footer small { color:var(--sm-muted); font-size:11px; }

/* Task */
.sm-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.sm-summary-grid article { position:relative; min-height:105px; padding:18px; overflow:hidden; }
.sm-summary-grid span { color:var(--sm-muted); font-size:13px; }
.sm-summary-grid strong { display:block; margin-top:6px; font-size:26px; }
.sm-summary-grid i { width:45px; height:45px; position:absolute; right:16px; top:50%; transform:translateY(-50%); display:grid; place-items:center; border-radius:50%; font-style:normal; }
.sm-task-title { display:flex; gap:9px; min-width:230px; }
.sm-task-check { width:27px; height:27px; flex:0 0 auto; display:grid; place-items:center; border-radius:8px; background:#F1F4F5; color:#94A0AA; }
.sm-task-check.is-complete { background:#E6F7EE; color:var(--sm-green); }
.sm-task-check .sm-icon { width:15px; height:15px; }
.sm-overdue { color:#C93333 !important; }
.sm-inline-select { min-height:31px; border:1px solid #E3E7EA; border-radius:8px; background:#fff; padding:4px 22px 4px 7px; font-size:11px; }
.sm-task-progress { display:flex; align-items:center; gap:7px; min-width:130px; }
.sm-task-progress input { width:90px; accent-color:var(--sm-green); }
.sm-task-progress span { min-width:28px; color:var(--sm-muted); font-size:11px; }

/* Calendar */
.sm-calendar-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:16px; }
.sm-calendar-card { padding:16px; }
.sm-calendar-card > header { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.sm-calendar-card > header h3 { margin:0; font-size:16px; }
.sm-calendar-card > header button { width:32px; height:32px; border:1px solid #E5E9EC; border-radius:9px; background:#fff; cursor:pointer; color:#47515A; }
.sm-calendar-weekdays,.sm-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); }
.sm-calendar-weekdays span { padding:9px 5px; text-align:center; color:#74808B; font-size:12px; font-weight:600; }
.sm-calendar-day { min-height:103px; padding:7px; border-top:1px solid #EDF0F2; border-left:1px solid #EDF0F2; background:#fff; transition:background .2s ease; }
.sm-calendar-day:nth-child(7n) { border-right:1px solid #EDF0F2; }
.sm-calendar-day:nth-last-child(-n+7) { border-bottom:1px solid #EDF0F2; }
.sm-calendar-day.is-other { background:#FAFBFC; color:#ABB2B8; }
.sm-calendar-day.is-today { background:#F0FAF5; box-shadow:inset 0 0 0 1px #A9DEC0; }
.sm-calendar-day > strong { width:25px; height:25px; display:grid; place-items:center; border-radius:8px; font-size:12px; }
.sm-calendar-day.is-today > strong { background:var(--sm-green); color:#fff; }
.sm-calendar-events { display:grid; gap:3px; margin-top:4px; }
.sm-calendar-event { display:block; padding:4px 5px; border-radius:5px; background:#E8F7EF; color:#08783D; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sm-calendar-event.is-task { background:#E8F0FF; color:#3567AE; }
.sm-calendar-event.is-visit { background:#FFF0DD; color:#995E00; }
.sm-upcoming-card { padding:16px; }
.sm-upcoming-card ul { display:grid; gap:10px; margin-top:14px; }
.sm-upcoming-card li { display:flex; gap:9px; align-items:flex-start; padding-bottom:10px; border-bottom:1px solid #EFF1F3; }
.sm-calendar-type { width:9px; height:9px; margin-top:4px; border-radius:50%; background:var(--sm-green); flex:0 0 auto; }
.sm-calendar-type.is-task { background:#4C82D8; }.sm-calendar-type.is-visit { background:#E9972C; }.sm-calendar-type.is-followup { background:#00A350; }
.sm-upcoming-card li div { display:flex; flex-direction:column; }
.sm-upcoming-card li strong { font-size:12px; }
.sm-upcoming-card li small { color:var(--sm-muted); font-size:11px; }

/* Analytics and reports */
.sm-analytics-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:16px; }
.sm-analytics-kpis article { min-height:120px; padding:18px; position:relative; overflow:hidden; }
.sm-analytics-kpis span { color:var(--sm-muted); font-size:12px; }
.sm-analytics-kpis strong { display:block; max-width:80%; margin:7px 0 4px; font-size:23px; }
.sm-analytics-kpis small { color:var(--sm-muted); font-size:11px; }
.sm-analytics-kpis i { position:absolute; width:50px; height:50px; right:16px; top:18px; display:grid; place-items:center; border-radius:50%; background:#E7F8EF; color:var(--sm-green); }
.sm-analytics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sm-chart-card { padding:18px; min-height:310px; }
.sm-chart-card .sm-chart-container { height:245px; }
.sm-report-filter { justify-content:flex-start; }
.sm-report-grid { display:grid; gap:16px; }
.sm-report-card { overflow:hidden; }
.sm-report-card > .sm-card-head { padding:16px; border-bottom:1px solid #EEF0F2; }

/* Roles, import, export */
.sm-role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sm-role-card { padding:22px; }
.sm-role-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:16px; color:var(--sm-green); background:#E6F7EE; }
.sm-role-card h3 { margin:15px 0 5px; font-size:16px; }
.sm-role-card p { min-height:46px; margin:0; color:var(--sm-muted); font-size:12px; }
.sm-role-card ul { display:grid; gap:8px; margin-top:16px; }
.sm-role-card li { display:flex; align-items:center; gap:8px; font-size:12px; }
.sm-role-card li .sm-icon { width:14px; height:14px; color:var(--sm-green); }
.sm-permission-note { display:flex; align-items:center; gap:16px; padding:18px; margin-top:16px; }
.sm-permission-note > span { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; color:var(--sm-green); background:#E7F8EF; }
.sm-permission-note h3 { margin:0; font-size:15px; }
.sm-permission-note p { margin:3px 0 0; color:var(--sm-muted); font-size:12px; }
.sm-import-layout { display:grid; grid-template-columns:420px minmax(0,1fr); gap:16px; }
.sm-upload-card,.sm-import-guide,.sm-export-card { padding:22px; }
.sm-drop-upload { min-height:245px; display:flex !important; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:2px dashed #B8DEC8; border-radius:16px; background:#F5FBF8; cursor:pointer; margin-bottom:14px; }
.sm-drop-upload input { display:none; }
.sm-drop-upload > span { width:62px; height:62px; display:grid; place-items:center; border-radius:50%; background:#E3F6EC; color:var(--sm-green); margin-bottom:10px; }
.sm-drop-upload strong { color:#26313A; font-size:15px; }
.sm-drop-upload p { margin:3px 0 0; color:var(--sm-muted); font-size:12px; }
.sm-import-guide h3 { margin:0 0 5px; font-size:16px; }
.sm-import-guide h4 { margin:18px 0 4px; }
.sm-import-guide p { color:var(--sm-muted); font-size:13px; }
.sm-code-columns { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.sm-code-columns code { padding:5px 8px; border-radius:7px; background:#EEF7F2; color:#27704A; font-size:11px; }
.sm-export-preview { display:flex; align-items:center; gap:14px; margin-top:22px; padding:18px; border-radius:16px; background:#F3FAF6; }
.sm-export-preview > span { width:48px; height:48px; display:grid; place-items:center; border-radius:13px; color:var(--sm-green); background:#DDF4E8; }
.sm-export-preview > div { flex:1; }
.sm-export-preview strong { font-size:15px; }
.sm-export-preview p { margin:3px 0 0; color:var(--sm-muted); font-size:12px; }

/* Notification, profile, settings */
.sm-notification-list { display:grid; gap:10px; }
.sm-notification-row { min-height:90px; display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:14px; padding:16px; }
.sm-notification-row.is-unread { border-left:3px solid var(--sm-green); background:linear-gradient(90deg,#F4FBF7,#fff 26%); }
.sm-notification-icon { width:45px; height:45px; display:grid; place-items:center; border-radius:14px; background:#E7F8EF; color:var(--sm-green); }
.sm-notification-row h3 { margin:0; font-size:14px; }
.sm-notification-row p { margin:3px 0; color:var(--sm-muted); font-size:12px; }
.sm-notification-row time { color:#969FA7; font-size:11px; }
.sm-settings-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.sm-settings-card { padding:20px; }
.sm-settings-section-head { display:flex; gap:12px; align-items:center; margin-bottom:18px; }
.sm-settings-section-head > span { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; color:var(--sm-green); background:#E7F8EF; }
.sm-settings-section-head h3 { margin:0; font-size:15px; }
.sm-settings-section-head p { margin:3px 0 0; color:var(--sm-muted); font-size:12px; }
.sm-toggle-list { display:grid; gap:5px; }
.sm-toggle-list label { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 0; border-bottom:1px solid #EFF1F3; cursor:pointer; }
.sm-toggle-list label > span { display:flex; flex-direction:column; }
.sm-toggle-list strong { font-size:13px; }
.sm-toggle-list small { color:var(--sm-muted); font-size:11px; }
.sm-toggle-list input { position:absolute; opacity:0; }
.sm-toggle-list i { width:42px; height:23px; position:relative; border-radius:999px; background:#D7DDE1; transition:background .2s ease; }
.sm-toggle-list i::after { content:""; width:17px; height:17px; position:absolute; top:3px; left:3px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.16); transition:transform .2s ease; }
.sm-toggle-list input:checked + i { background:var(--sm-green); }
.sm-toggle-list input:checked + i::after { transform:translateX(19px); }
.sm-settings-actions { grid-column:1/-1; display:flex; justify-content:flex-end; }
.sm-profile-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:16px; }
.sm-profile-summary { padding:24px; text-align:center; }
.sm-profile-summary > img { width:120px; height:120px; border-radius:50%; object-fit:cover; border:6px solid #EDF8F2; box-shadow:0 12px 28px rgba(0,163,80,.15); }
.sm-profile-summary h3 { margin:14px 0 3px; font-size:19px; }
.sm-profile-summary > span { display:inline-flex; padding:5px 10px; border-radius:999px; color:var(--sm-green); background:#E8F8EF; font-size:12px; font-weight:600; }
.sm-profile-summary ul { list-style:none; padding:0; margin:20px 0 0; display:grid; gap:11px; text-align:left; }
.sm-profile-summary li { display:flex; align-items:center; gap:9px; color:#5C6670; font-size:12px; }
.sm-profile-summary li .sm-icon { width:15px; height:15px; color:var(--sm-green); }
.sm-profile-form { padding:22px; }
.sm-profile-form hr { border:0; border-top:1px solid #EFF1F3; margin:22px 0; }
.sm-profile-form > .sm-btn { margin-top:18px; }
.sm-verified { display:flex; align-items:center; gap:5px; font-size:11px; }
.sm-verified .sm-icon { width:13px; height:13px; }
.sm-verified.is-yes { color:var(--sm-green); }.sm-verified.is-no { color:var(--sm-warning); }
.sm-inline-role-form { display:flex; align-items:center; gap:5px; }
.sm-inline-role-form select { min-height:31px; border:1px solid #E3E7EA; border-radius:8px; background:#fff; padding:4px 22px 4px 7px; font-size:11px; }

/* Message drawer */
.sm-drawer { position:fixed; z-index:110; top:0; right:0; width:min(430px,94vw); height:100vh; display:flex; flex-direction:column; background:#fff; box-shadow:-18px 0 55px rgba(18,30,38,.18); transform:translateX(105%); transition:transform .28s ease; }
.sm-drawer.is-open { transform:translateX(0); }
.sm-drawer-overlay { position:fixed; z-index:105; inset:0; background:rgba(17,27,35,.35); backdrop-filter:blur(3px); opacity:0; visibility:hidden; transition:all .2s ease; }
.sm-drawer-overlay.is-open { opacity:1; visibility:visible; }
.sm-drawer-head { min-height:74px; display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid #EDF0F2; }
.sm-drawer-head span { color:var(--sm-green); font-size:11px; text-transform:uppercase; letter-spacing:1px; }
.sm-drawer-head h3 { margin:2px 0 0; font-size:19px; }
.sm-drawer-head button { width:34px; height:34px; border:0; border-radius:10px; background:#F3F5F6; display:grid; place-items:center; cursor:pointer; }
.sm-message-list { flex:1; overflow:auto; padding:14px; background:#F7F9F8; }
.sm-message { padding:12px; margin-bottom:9px; border:1px solid #E6EAED; border-radius:13px; background:#fff; }
.sm-message.is-unread { border-color:#9DD7B6; box-shadow:0 6px 18px rgba(0,163,80,.08); }
.sm-message.is-outgoing { background:#EFF9F4; margin-left:32px; }
.sm-message.is-incoming { margin-right:32px; }
.sm-message > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sm-message strong { font-size:12px; }
.sm-message time { color:#9099A1; font-size:10px; }
.sm-message h4 { margin:7px 0 2px; font-size:13px; }
.sm-message p { margin:0; color:#5D6872; font-size:12px; }
.sm-message-form { display:grid; gap:10px; padding:14px; border-top:1px solid #EDF0F2; }
.sm-message-form textarea { min-height:74px; }

/* Mobile overlay and collapsed sidebar */
.sm-mobile-overlay { display:none; }
.smcrm-shell.is-collapsed { --sm-sidebar:82px; }
.smcrm-shell.is-collapsed .sm-brand-copy,.smcrm-shell.is-collapsed .sm-nav-item > span:not(.sm-nav-badge),.smcrm-shell.is-collapsed .sm-support-card { opacity:0; visibility:hidden; width:0; overflow:hidden; }
.smcrm-shell.is-collapsed .sm-brand { justify-content:center; padding-left:0; padding-right:0; }
.smcrm-shell.is-collapsed .sm-brand img { width:48px; height:48px; }
.smcrm-shell.is-collapsed .sm-nav-item { justify-content:center; padding-left:0; padding-right:0; }
.smcrm-shell.is-collapsed .sm-nav-item .sm-icon { width:20px; height:20px; }
.smcrm-shell.is-collapsed .sm-nav-badge { position:absolute; margin:0; transform:translate(13px,-12px); min-width:16px; height:16px; padding:0 4px; font-size:10px; }
.smcrm-shell.is-collapsed .sm-sidebar-collapse { transform:rotate(180deg); opacity:1; right:4px; top:53px; }
.smcrm-shell.is-collapsed .sm-logout { justify-content:center; }

/* Toasts and animation */
.sm-toast-stack { position:fixed; z-index:200; right:18px; bottom:18px; display:grid; gap:9px; width:min(330px,calc(100vw - 36px)); }
.sm-toast { display:flex; align-items:center; gap:9px; padding:12px 14px; border-radius:13px; background:#17231D; color:#fff; box-shadow:0 16px 40px rgba(0,0,0,.22); animation:smToastIn .28s ease both; font-size:13px; }
.sm-toast.is-error { background:#A52E2E; }
.sm-toast.is-success { background:#08783D; }
.sm-toast .sm-icon { width:16px; height:16px; }
.is-loading { pointer-events:none; opacity:.75; }
.is-loading::after { content:""; width:13px; height:13px; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; animation:smSpin .7s linear infinite; }
[data-global-hidden="true"] { display:none !important; }
@keyframes smFadeIn { from{opacity:0} to{opacity:1} }
@keyframes smFadeUp { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes smRipple { to{transform:scale(4);opacity:0} }
@keyframes smSpin { to{transform:rotate(360deg)} }
@keyframes smToastIn { from{opacity:0;transform:translateX(18px)} to{opacity:1;transform:translateX(0)} }

/* Responsive */
@media (max-width: 1600px) {
  .sm-dashboard-main-grid { grid-template-columns:minmax(310px,.9fr) minmax(420px,1.25fr) 205px; }
  .sm-kpi-grid { gap:12px; }
  .sm-main { padding-left:20px; padding-right:20px; }
}
@media (max-width: 1370px) {
  :root { --sm-sidebar:250px; }
  .sm-global-search { width:210px; }
  .sm-date-chip { display:none; }
  .sm-dashboard-main-grid { grid-template-columns:minmax(300px,1fr) minmax(400px,1.35fr); }
  .sm-quick-stats { grid-column:1/-1; grid-template-columns:repeat(4,1fr); grid-template-rows:auto; }
  .sm-dashboard-bottom-grid { grid-template-columns:repeat(2,1fr); }
  .sm-project-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 1180px) {
  .sm-kpi-grid { grid-template-columns:repeat(3,1fr); }
  .sm-dashboard-main-grid { grid-template-columns:1fr; }
  .sm-quick-stats { grid-template-columns:repeat(2,1fr); }
  .sm-dashboard-mid-grid { grid-template-columns:1fr 1fr; }
  .sm-dashboard-mid-grid > :last-child { grid-column:1/-1; }
  .sm-header-tools .sm-global-search { display:none; }
  .sm-role-grid { grid-template-columns:1fr 1fr; }
  .sm-import-layout { grid-template-columns:360px 1fr; }
  .sm-settings-layout { grid-template-columns:1fr; }
  .sm-settings-actions { grid-column:1; }
}
@media (max-width: 980px) {
  .smcrm-shell { display:block; }
  .sm-sidebar { transform:translateX(calc(-100% - 18px)); width:min(290px,calc(100vw - 24px)); }
  .sm-sidebar.is-mobile-open { transform:translateX(0); }
  .sm-main { padding:14px 14px 90px; }
  .sm-mobile-menu { width:42px; height:42px; display:grid; place-items:center; border:1px solid #E8EBEE; border-radius:12px; background:#fff; box-shadow:var(--sm-shadow); cursor:pointer; flex:0 0 auto; }
  .sm-topbar { align-items:center; }
  .sm-heading { flex:1; }
  .sm-heading > span { display:none; }
  .sm-header-tools .sm-icon-button:nth-of-type(2),.sm-date-chip { display:none; }
  .sm-profile-chip { min-width:48px; width:48px; padding:4px; }
  .sm-profile-chip > span,.sm-profile-chip > .sm-icon { display:none; }
  .sm-mobile-overlay { display:block; position:fixed; z-index:35; inset:0; background:rgba(18,29,36,.36); opacity:0; visibility:hidden; transition:all .2s ease; }
  .sm-mobile-overlay.is-open { opacity:1; visibility:visible; }
  .sm-sidebar-collapse { display:none; }
  .sm-calendar-layout,.sm-profile-layout { grid-template-columns:1fr; }
  .sm-profile-summary { display:grid; grid-template-columns:120px 1fr; text-align:left; align-items:center; }
  .sm-profile-summary ul { grid-column:1/-1; }
  .sm-analytics-kpis { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 760px) {
  .sm-auth-card { padding:30px 22px 26px; border-radius:24px; }
  .sm-auth-logo-wrap { width:110px; height:110px; }
  .sm-auth-logo-wrap img { width:96px; height:96px; }
  .sm-auth-card > h1 { font-size:25px; }
  .sm-form-row,.sm-form-grid { grid-template-columns:1fr; }
  .sm-field-span-2 { grid-column:1; }
  .sm-topbar { gap:10px; }
  .sm-heading p { display:none; }
  .sm-heading h1 { font-size:23px; }
  .sm-header-tools { gap:6px; }
  .sm-header-tools .sm-icon-button { width:40px; height:40px; }
  .sm-profile-chip { width:42px; height:42px; }
  .sm-profile-chip img { width:34px; height:34px; }
  .sm-kpi-grid { grid-template-columns:repeat(2,1fr); }
  .sm-kpi-card { min-height:104px; padding:15px; }
  .sm-kpi-card strong { font-size:23px; }
  .sm-kpi-icon { width:41px; height:41px; }
  .sm-dashboard-mid-grid,.sm-dashboard-bottom-grid,.sm-analytics-grid,.sm-project-grid,.sm-role-grid,.sm-import-layout { grid-template-columns:1fr; }
  .sm-dashboard-mid-grid > :last-child { grid-column:auto; }
  .sm-quick-stats { grid-template-columns:1fr 1fr; }
  .sm-page-actions { align-items:flex-start; flex-direction:column; }
  .sm-page-actions > div:last-child { width:100%; }
  .sm-filter-bar { align-items:stretch; flex-direction:column; }
  .sm-filter-search,.sm-filter-bar > select { width:100%; min-width:0; }
  .sm-table-toolbar { align-items:flex-start; flex-direction:column; }
  .sm-table-search { width:100%; }
  .sm-bulk-bar { overflow:auto; }
  .sm-pipeline-summary-body { grid-template-columns:1fr; }
  .sm-donut-legend { grid-template-columns:1fr 1fr; }
  .sm-pipeline-summary { min-height:auto; }
  .sm-calendar-day { min-height:78px; padding:4px; }
  .sm-calendar-event { font-size:9px; }
  .sm-summary-grid,.sm-analytics-kpis { grid-template-columns:1fr 1fr; }
  .sm-notification-row { grid-template-columns:42px 1fr; }
  .sm-notification-row > a { grid-column:2; justify-self:start; }
  .sm-export-preview { align-items:flex-start; flex-wrap:wrap; }
  .sm-export-preview .sm-btn { width:100%; }
}
@media (max-width: 520px) {
  .sm-auth-page { padding:20px 12px; }
  .sm-auth-card { padding:25px 17px 22px; }
  .sm-auth-options { align-items:flex-start; flex-direction:column; }
  .sm-topbar { margin-bottom:12px; }
  .sm-heading h1 { font-size:21px; }
  .sm-kpi-grid { grid-template-columns:1fr; }
  .sm-quick-stats,.sm-summary-grid,.sm-analytics-kpis { grid-template-columns:1fr; }
  .sm-dashboard-main-grid,.sm-dashboard-mid-grid,.sm-dashboard-bottom-grid { gap:12px; }
  .sm-main { padding-left:10px; padding-right:10px; }
  .sm-donut-legend { grid-template-columns:1fr; }
  .sm-calendar-weekdays span { font-size:10px; }
  .sm-calendar-day { min-height:63px; }
  .sm-calendar-events .sm-calendar-event:nth-child(n+2) { display:none; }
  .sm-profile-summary { grid-template-columns:1fr; text-align:center; }
  .sm-profile-summary > img { margin:auto; }
}


/* Readable responsive typography and spacing — v2.0.1 */
.smcrm-shell input,
.smcrm-shell select,
.smcrm-shell textarea,
.sm-auth-page input,
.sm-auth-page select,
.sm-auth-page textarea { font-size: max(16px, 1em); }
.sm-table-wrap { scrollbar-width: thin; }
.sm-table-wrap th,.sm-table-wrap td { line-height: 1.45; }
.sm-nav-item,.sm-btn,.sm-profile-chip,.sm-date-chip { line-height: 1.35; }

@media (min-width: 1601px) {
  body.smcrm-fullscreen-template { font-size:16px; }
  .sm-main { padding-left:28px; padding-right:28px; }
  .sm-nav-item { min-height:45px; }
}

@media (max-width: 980px) {
  body.smcrm-fullscreen-template { font-size:15px; }
  .sm-heading h1 { line-height:1.2; }
  .sm-table-wrap { overflow-x:auto; }
  .sm-table-wrap table { min-width:760px; }
}

@media (max-width: 520px) {
  body.smcrm-fullscreen-template { font-size:14px; }
  .sm-main { padding-bottom:72px; }
  .sm-card { border-radius:16px; }
  .sm-auth-card > h1 { line-height:1.25; }
  .sm-kpi-card > div > span,.sm-quick-card > div > span { line-height:1.35; }
}

@media print {
  .sm-sidebar,.sm-topbar,.sm-page-actions .sm-btn,.sm-footer,.sm-drawer,.sm-drawer-overlay,.sm-mobile-overlay,.sm-toast-stack { display:none !important; }
  .smcrm-shell { display:block; background:#fff; }
  .sm-main { padding:0; }
  .sm-card { box-shadow:none; border:1px solid #ddd; break-inside:avoid; }
}

/* v2.1.0 — responsive readability and Google Drive integration */
.sm-access-links-card { margin-bottom:18px; }
.sm-access-url-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sm-access-url-grid label { display:grid; gap:7px; color:#44505A; font-size:14px; font-weight:600; }
.sm-access-url-grid span { min-width:0; padding:12px 14px; border:1px solid var(--sm-border); border-radius:12px; background:#F8FAF9; overflow:auto; }
.sm-access-url-grid code { color:var(--sm-green-dark); font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px; white-space:nowrap; }
.sm-drive-card .sm-settings-section-head { align-items:flex-start; }
.sm-integration-badge { margin-left:auto; display:inline-flex; align-items:center; min-height:28px; padding:5px 10px; border-radius:999px; font-size:12px; font-weight:700; white-space:nowrap; }
.sm-integration-badge.is-connected { color:#08783E; background:#E7F8EF; border:1px solid #BEE9D0; }
.sm-integration-badge.is-pending { color:#9A6200; background:#FFF7E6; border:1px solid #F8D99B; }
.sm-integration-message { margin:14px 0 18px; padding:12px 14px; border:1px solid #E5E9EC; border-radius:12px; background:#F8FAFB; color:#4D5863; font-size:14px; }
.sm-integration-message.is-success { border-color:#BFE8D1; background:#F0FBF5; color:#08783E; }
.sm-integration-message.is-error { border-color:#F2C2C2; background:#FFF4F4; color:#B42318; }
.sm-drive-steps { margin-top:18px; padding:18px; border:1px dashed #B9DDC9; border-radius:14px; background:#F5FBF8; }
.sm-drive-steps h4 { margin:0 0 10px; font-size:16px; }
.sm-drive-steps ol { margin:0 0 16px 20px; padding:0; color:#4E5963; }
.sm-drive-steps li { margin:7px 0; line-height:1.55; }
.sm-drive-steps code { padding:2px 6px; border-radius:6px; background:#E7F5ED; color:#08783E; }
.sm-integration-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.sm-integration-actions form { margin:0; }

@media screen {
  body.smcrm-fullscreen-template { font-size:16px; }
  .sm-nav-item { font-size:15px; }
  .sm-heading p { font-size:15px; }
  .sm-heading > span,.sm-page-actions p,.sm-card-head p { font-size:14px; }
  .sm-card-head h2,.sm-card-head h3 { font-size:16px; }
  .sm-page-actions h2 { font-size:24px; }
  .sm-form-grid label,.sm-settings-layout label,.sm-profile-form label,.sm-message-form label,.sm-upload-card label { font-size:14px; }
  .sm-form-grid label small,.sm-profile-form label small { font-size:12px; }
  .sm-table-wrap th { font-size:13px; }
  .sm-table-wrap td,.sm-table-wrap td strong { font-size:13px; }
  .sm-table-wrap td small { font-size:12px; }
  .sm-status,.sm-priority { font-size:12px; }
  .sm-kpi-card > div > span,.sm-quick-card > div > span { font-size:14px; }
  .sm-list-card li,.sm-performance-card li,.sm-project-performance li { font-size:12px; }
}

@media screen and (min-width:1600px) {
  body.smcrm-fullscreen-template { font-size:17px; }
  .sm-main { max-width:none; }
  .sm-heading h1 { font-size:32px; }
  .sm-page-actions h2 { font-size:26px; }
  .sm-table-wrap th,.sm-table-wrap td,.sm-table-wrap td strong { font-size:14px; }
  .sm-card-head h2,.sm-card-head h3 { font-size:17px; }
}

@media screen and (max-width:980px) {
  body.smcrm-fullscreen-template { font-size:16px; }
  .sm-nav-item { font-size:15px; }
  .sm-access-url-grid { grid-template-columns:1fr; }
  .sm-integration-actions { display:grid; grid-template-columns:1fr 1fr; }
  .sm-integration-actions .sm-btn { width:100%; }
}

@media screen and (max-width:520px) {
  body.smcrm-fullscreen-template { font-size:16px; }
  .sm-auth-card > h1 { font-size:27px; }
  .sm-auth-tabs a { font-size:16px; }
  .sm-auth-options,.sm-auth-feedback,.sm-verification-note { font-size:15px; }
  .sm-auth-switch { font-size:16px; }
  .sm-heading h1 { font-size:24px; }
  .sm-page-actions h2 { font-size:23px; }
  .sm-kpi-card strong { font-size:26px; }
  .sm-table-wrap th,.sm-table-wrap td,.sm-table-wrap td strong { font-size:14px; }
  .sm-table-wrap td small { font-size:13px; }
  .sm-integration-actions { grid-template-columns:1fr; }
  .sm-settings-section-head { align-items:flex-start; }
  .sm-integration-badge { margin-left:0; }
  .sm-drive-steps { padding:15px; }
}

/* v2.2.0 — WordPress Admin integration */
body.smcrm-wp-admin-page #wpcontent { padding-left:0; }
body.smcrm-wp-admin-page #wpbody-content { padding-bottom:0; }
body.smcrm-wp-admin-page .wrap.smcrm-wpadmin-wrap { margin:0; max-width:none; }
body.smcrm-wp-admin-page #screen-meta-links { margin-right:20px; }
body.smcrm-wp-admin-page #adminmenu #toplevel_page_sultan-marketing-crm .wp-menu-image:before { color:#57D08E; }
body.smcrm-wp-admin-page #adminmenu #toplevel_page_sultan-marketing-crm.current > a.menu-top,
body.smcrm-wp-admin-page #adminmenu #toplevel_page_sultan-marketing-crm.wp-has-current-submenu > a.wp-has-current-submenu { background:#00A350; color:#fff; }
body.smcrm-wp-admin-page #adminmenu #toplevel_page_sultan-marketing-crm.current > a.menu-top .wp-menu-image:before,
body.smcrm-wp-admin-page #adminmenu #toplevel_page_sultan-marketing-crm.wp-has-current-submenu > a.wp-has-current-submenu .wp-menu-image:before { color:#fff; }

.smcrm-wpadmin-wrap {
  width:100%;
  min-width:0;
  color:var(--sm-text);
  font-family:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.55;
}
.smcrm-wpadmin-shell {
  display:block;
  min-height:calc(100vh - 32px);
  background:linear-gradient(135deg,#F7F8FA 0%,#EFF1F4 100%);
  overflow:hidden;
}
.smcrm-wpadmin-shell .sm-main {
  grid-column:auto;
  min-height:calc(100vh - 32px);
  padding:18px 24px 70px;
}
.sm-wpadmin-brandbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 18px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.95);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 28px rgba(33,47,61,.07);
  backdrop-filter:blur(16px);
}
.sm-wpadmin-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.sm-wpadmin-brand img { width:50px; height:50px; object-fit:contain; flex:0 0 auto; }
.sm-wpadmin-brand span { display:flex; flex-direction:column; min-width:0; }
.sm-wpadmin-brand strong { font-size:17px; line-height:1.25; }
.sm-wpadmin-brand small { color:var(--sm-muted); font-size:13px; }
.sm-wpadmin-brandbar > a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:8px 14px;
  color:var(--sm-green-dark);
  text-decoration:none;
  font-weight:600;
  border:1px solid #D5EEDF;
  border-radius:12px;
  background:#F3FBF7;
}
.sm-wpadmin-brandbar > a:hover { color:#006E37; border-color:#A8DABE; background:#EAF8F1; }
.sm-wpadmin-brandbar > a .sm-icon { width:17px; height:17px; }

.sm-admin-quicknav {
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  margin:0 0 18px;
  padding:8px;
  overflow-x:auto;
  scrollbar-width:thin;
  border:1px solid rgba(255,255,255,.95);
  border-radius:16px;
  background:rgba(255,255,255,.86);
  box-shadow:0 9px 24px rgba(33,47,61,.06);
}
.sm-admin-nav-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 12px;
  color:#4C5560 !important;
  text-decoration:none !important;
  white-space:nowrap;
  border-radius:11px;
  font-size:14px;
  font-weight:600;
  transition:background var(--sm-transition),color var(--sm-transition),transform var(--sm-transition),box-shadow var(--sm-transition);
}
.sm-admin-nav-link .sm-icon { width:17px; height:17px; color:var(--sm-green); }
.sm-admin-nav-link:hover { color:#111 !important; background:#EFF9F4; transform:translateY(-1px); }
.sm-admin-nav-link.is-active { color:#fff !important; background:linear-gradient(135deg,#10B85D,#008C45); box-shadow:0 8px 20px rgba(0,163,80,.22); }
.sm-admin-nav-link.is-active .sm-icon { color:#fff; }
.smcrm-wpadmin-shell .sm-content { min-width:0; }
.smcrm-wpadmin-shell .sm-topbar { margin-bottom:16px; }
.smcrm-wpadmin-shell .sm-footer { padding-bottom:0; }
.smcrm-wpadmin-shell input,
.smcrm-wpadmin-shell select,
.smcrm-wpadmin-shell textarea,
.smcrm-wpadmin-shell button { font-family:inherit; }
.smcrm-wpadmin-shell input[type="text"],
.smcrm-wpadmin-shell input[type="email"],
.smcrm-wpadmin-shell input[type="number"],
.smcrm-wpadmin-shell input[type="tel"],
.smcrm-wpadmin-shell input[type="search"],
.smcrm-wpadmin-shell input[type="password"],
.smcrm-wpadmin-shell input[type="url"],
.smcrm-wpadmin-shell input[type="datetime-local"],
.smcrm-wpadmin-shell select,
.smcrm-wpadmin-shell textarea { font-size:16px; }

@media screen and (min-width:1600px) {
  .smcrm-wpadmin-wrap { font-size:17px; }
  .smcrm-wpadmin-shell .sm-main { padding-left:30px; padding-right:30px; }
  .sm-admin-nav-link { font-size:15px; min-height:41px; }
}

@media screen and (max-width:1100px) {
  .smcrm-wpadmin-shell .sm-topbar { align-items:flex-start; }
  .smcrm-wpadmin-shell .sm-header-tools { width:100%; justify-content:flex-start; }
  .smcrm-wpadmin-shell .sm-global-search { width:min(380px,100%); }
}

@media screen and (max-width:782px) {
  body.smcrm-wp-admin-page #wpcontent { padding-left:0; }
  .smcrm-wpadmin-wrap { font-size:16px; }
  .smcrm-wpadmin-shell { min-height:calc(100vh - 46px); }
  .smcrm-wpadmin-shell .sm-main { min-height:calc(100vh - 46px); padding:14px 12px 56px; }
  .sm-wpadmin-brandbar { align-items:flex-start; padding:12px; border-radius:15px; }
  .sm-wpadmin-brand img { width:44px; height:44px; }
  .sm-wpadmin-brand strong { font-size:16px; }
  .sm-wpadmin-brandbar > a { padding:8px 10px; font-size:13px; }
  .sm-admin-quicknav { border-radius:14px; }
  .sm-admin-nav-link { font-size:14px; }
}

@media screen and (max-width:520px) {
  .smcrm-wpadmin-shell .sm-main { padding-left:9px; padding-right:9px; }
  .sm-wpadmin-brandbar { flex-direction:column; }
  .sm-wpadmin-brandbar > a { width:100%; justify-content:center; }
  .smcrm-wpadmin-shell .sm-heading h1 { font-size:25px; }
  .smcrm-wpadmin-shell .sm-heading > span { font-size:14px; }
  .smcrm-wpadmin-shell .sm-header-tools { gap:8px; }
  .smcrm-wpadmin-shell .sm-global-search { min-width:100%; width:100%; }
  .sm-admin-nav-link { min-height:40px; padding:8px 11px; font-size:14px; }
}
