/* Digital Primed CRM UI v3 — larger type, true SVG icons and stronger controls */
html { font-size: 16px; }
body, button, input, select, textarea { font-family: "Manrope", Inter, Arial, sans-serif; }
body { font-size: 15px; line-height: 1.5; }
svg { width: 18px; height: 18px; }

.sidebar { width: 272px; padding: 24px 18px 20px; }
.main { margin-left: 272px; }
.brand { height: 76px; padding: 0 4px 20px; gap: 10px; }
.brand-logo { width: 190px; max-height: 56px; object-fit: contain; object-position: left center; }
.brand-product { margin-left: auto; padding: 4px 7px; border: 1px solid #34343c; border-radius: 6px; color: #a8a8b4 !important; font-size: 9px !important; font-weight: 800; letter-spacing: .12em !important; }
.nav-label { margin: 28px 12px 11px; font-size: 10px; }
.sidebar nav a { height: 50px; padding: 0 14px; margin: 5px 0; gap: 13px; font-size: 13px; font-weight: 700; }
.sidebar nav a span { width: 20px; display: grid; place-items: center; }
.sidebar nav a svg { width: 18px; height: 18px; }
.sidebar nav a.active { background: linear-gradient(90deg, #2c2937, #25252b); box-shadow: inset 3px 0 #8b5cf6; }
.sidebar-note { padding: 17px; }
.sidebar-note b svg { width: 19px; height: 19px; }
.sidebar-note p { font-size: 12px; }
.user-card { min-height: 70px; gap: 11px; }
.user-card strong { font-size: 12px; }
.user-card small { font-size: 10px; }
.user-card > a { display: grid; place-items: center; }
.user-card > a svg { width: 17px; height: 17px; }
.avatar { width: 35px; height: 35px; font-size: 10px; }

.topbar { height: 74px; padding: 0 38px; font-size: 12px; }
.topbar .logout-mobile { display: flex; align-items: center; gap: 7px; font-size: 12px; }
.content { padding: 44px 40px 64px; }
.page-head { margin-bottom: 32px; }
.page-head p, .eyebrow { margin-bottom: 10px; font-size: 10px; }
.page-head h1 { font-size: clamp(30px, 2.3vw, 38px); line-height: 1.12; }
.page-head span { margin-top: 10px; font-size: 14px; }
.page-actions { gap: 11px; }

.btn { min-height: 46px; padding: 0 18px; gap: 9px; border-radius: 11px; font-size: 13px; font-weight: 750; }
.btn svg { width: 17px; height: 17px; }
.btn.light { min-height: 42px; }
.btn.primary { box-shadow: 0 10px 24px #6d28d929; }

.metrics { gap: 17px; margin-bottom: 20px; }
.metrics article { min-height: 142px; padding: 23px; gap: 17px; border-radius: 16px; }
.metrics i { width: 44px; height: 44px; border-radius: 12px; }
.metrics i svg { width: 21px; height: 21px; }
.metrics span { font-size: 12px; font-weight: 700; }
.metrics strong { margin: 5px 0 2px; font-size: 30px; line-height: 1; }
.metrics small { font-size: 10px; }
.panel { border-radius: 16px; }
.dashboard-grid { gap: 20px; }
.side-stack { gap: 20px; }
.panel-head { min-height: 78px; padding: 20px 22px 16px; }
.panel-head h2 { font-size: 16px; }
.panel-head p { margin-top: 4px; font-size: 10px; }
.panel-head a { display: flex; align-items: center; gap: 5px; font-size: 11px; }
.panel-head a svg { width: 14px; height: 14px; }
.empty { min-height: 250px; }
.empty b { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: #f5f3ff; color: #7c3aed; }
.empty b svg { width: 24px; height: 24px; }
.empty h3 { margin-top: 13px; font-size: 14px; }
.empty p { font-size: 11px; }

.task-row { min-height: 82px; padding: 15px 21px; grid-template-columns: 34px minmax(190px,1fr) 150px 78px 105px; gap: 12px; }
.task-check { width: 31px; height: 31px; display: grid; place-items: center; }
.task-check svg { width: 17px; height: 17px; }
.task-copy h3 { font-size: 13px; }
.task-copy p { margin-top: 6px; font-size: 10px; }
.task-copy em { padding: 4px 7px; font-size: 8px; }
.task-person, .task-row time { font-size: 10px; }
.task-row time { display: flex; align-items: center; gap: 5px; }
.task-row time svg { width: 13px; height: 13px; }
.status { padding: 8px 10px; font-size: 9px; }
.quick-update { top: 23px; }
.quick-update select, .toolbar select { height: 42px; padding: 0 34px 0 13px; font-size: 11px; }

.toolbar { padding: 18px 20px; gap: 11px; }
.search { display: flex; align-items: center; }
.search > svg { position: absolute; left: 12px; width: 17px; height: 17px; z-index: 1; }
.search input { height: 42px; padding: 0 14px 0 39px; font-size: 12px; }
.form-grid label, .install-grid label, .auth-form label { gap: 8px; font-size: 11px; }
.form-grid input, .form-grid select, .form-grid textarea, .install-grid input, .auth-form input { min-height: 46px; padding: 11px 13px; border-radius: 10px; font-size: 13px; }
.modal h2 { font-size: 24px; }
.modal form > span { font-size: 12px; }
.modal-close, .icon-btn { display: grid; place-items: center; }
.modal-close svg, .icon-btn svg { width: 18px; height: 18px; }
.flash { min-height: 52px; padding: 12px 15px; font-size: 12px; }
.flash button { display: grid; place-items: center; }

.pulse-score { padding: 20px 22px 16px; }
.pulse-score strong { font-size: 32px; }
.pulse-score span { font-size: 10px; }
.pulse-score > b svg { width: 23px; height: 23px; }
.pulse-foot { padding: 15px 22px 2px; font-size: 9px; }
.pulse-foot span { display: flex; align-items: center; gap: 5px; }
.pulse-foot svg { width: 11px; height: 11px; }
.activity-row { padding: 13px 19px; gap: 11px; }
.activity-row > i { width: 31px; height: 31px; }
.activity-row > i svg { width: 15px; height: 15px; }
.activity-row p { font-size: 11px; }
.activity-row span { font-size: 9px; }

.team-grid { gap: 18px; }
.team-card { padding: 25px; border-radius: 16px; }
.team-card h3 { font-size: 16px; }
.team-card > p { font-size: 12px; }
.team-card > small { font-size: 10px; }
.team-progress > span, .team-numbers, .team-todo-link { font-size: 10px; }
.team-numbers b { font-size: 16px; }
.planner { gap: 17px; }
.plan-day { grid-template-columns: 82px 1fr; }
.date-card { height: 92px; }
.date-card span, .date-card small { font-size: 9px; }
.plan-items article { min-height: 72px; }
.plan-items h3 { font-size: 13px; }
.plan-items p { font-size: 10px; }
.plan-person { font-size: 10px; }

.todo-summary article { padding: 18px 21px; }
.todo-summary span { font-size: 10px; }
.todo-summary strong { font-size: 28px; }
.todo-item { min-height: 96px; padding: 18px 21px; }
.todo-copy h3 { font-size: 14px; }
.todo-copy p { font-size: 12px; }
.todo-copy small { font-size: 10px; }
.todo-check svg { width: 16px; height: 16px; }
.todo-check.readonly { font-size: 0; }
.todo-check.readonly:not(:empty)::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E") center/contain no-repeat; }

.auth-brand .brand { width: min(285px, 100%); height: auto; }
.auth-brand .brand-logo { width: 260px; max-height: 114px; }
.auth-brand h1 { font-size: clamp(46px, 4vw, 66px); }
.auth-brand > div:nth-child(2) > p { font-size: 11px; }
.auth-brand > div:nth-child(2) > span { max-width: 500px; font-size: 14px; }
.auth-form form { width: min(430px, 100%); }
.auth-form h2 { font-size: 34px; }
.auth-form form > span { font-size: 12px; }
.auth-form input { height: 50px; }
.auth-form .btn { height: 50px; }
.install-card { width: min(820px,100%); }
.install-head h1 { font-size: 32px; }
.install-head span { font-size: 12px; }

@media (max-width: 1050px) {
  .sidebar { width: 250px; }
  .main { margin-left: 250px; }
}
@media (max-width: 760px) {
  .main { margin-left: 0; }
  .sidebar { width: min(290px, 86vw); }
  .topbar { height: 64px; padding: 0 16px; }
  .content { padding: 30px 17px 48px; }
  .page-head h1 { font-size: 28px; }
  .page-head span { font-size: 13px; }
  .page-actions { width: 100%; }
  .task-row { grid-template-columns: 34px minmax(140px,1fr) 95px; }
  .task-with-actions > .task-row { padding-right: 125px; }
  .auth-brand .brand-logo { width: 210px; }
}
@media (max-width: 460px) {
  .metrics { grid-template-columns: 1fr; }
  .metrics article { min-height: 118px; }
  .page-actions { flex-direction: column; }
  .page-actions .btn { width: 100%; }
  .team-numbers { gap: 18px; flex-wrap: wrap; }
}
