:root{
  --bg:#f4f6f2;--surface:#fff;--surface-soft:#f7f9f5;--text:#151a16;--muted:#687169;
  --line:#dfe5dc;--line-strong:#c8d0c5;--accent:#68d34b;--accent-dark:#4eac32;--accent-soft:#effbea;
  --sidebar:#121713;--sidebar-soft:#1d251e;--danger:#c4320a;--danger-soft:#fff1ed;--warning:#b54708;
  --warning-soft:#fffaeb;--success:#067647;--success-soft:#ecfdf3;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.05);
  --radius:14px;--sidebar-width:248px;
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:14px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(99,200,50,.23);outline-offset:2px}
svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;padding:20px 14px 14px;background:var(--sidebar);color:#fff;z-index:40}.workspace{min-height:100vh;margin-left:var(--sidebar-width)}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 8px 20px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#8bdd5e,#63c832);font-size:18px;font-weight:800;box-shadow:0 8px 20px rgba(99,200,50,.25)}.brand-mark.large{width:52px;height:52px;border-radius:16px;font-size:25px}.sidebar-brand strong{display:block;font-size:16px}.sidebar-brand span{display:block;color:#8d978f;font-size:12px;margin-top:1px}
.sidebar-create{display:flex;align-items:center;justify-content:center;gap:8px;height:42px;margin:2px 4px 18px;border-radius:10px;background:#fff;color:#182019;text-decoration:none;font-weight:700}.sidebar-create:hover{background:#f1f4ef}.sidebar-create svg{width:18px;height:18px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;overflow:auto}.nav-item{display:flex;align-items:center;gap:11px;min-height:42px;padding:9px 11px;border-radius:10px;color:#cbd5e1;text-decoration:none;font-weight:600;transition:.16s ease}.nav-item svg{width:19px;height:19px;opacity:.9}.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}.nav-item.active{background:rgba(99,200,50,.15);color:#fff}.nav-item.active svg{color:#9be66f}.nav-section-label{padding:20px 11px 7px;color:#6b746c;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.sidebar-user{display:flex;align-items:center;gap:9px;margin-top:auto;padding:14px 8px 2px;border-top:1px solid rgba(255,255,255,.08)}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#37423a;font-weight:750}.user-meta{min-width:0;flex:1}.user-meta strong,.user-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:13px}.user-meta span{color:#8d978f;font-size:11px}.sidebar-user form{margin:0}
.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:inherit;cursor:pointer}.icon-button:hover{background:rgba(255,255,255,.08)}.icon-button svg{width:19px;height:19px}.mobile-header{display:none}.sidebar-backdrop{display:none}
.page{max-width:1800px;margin:0 auto;padding:28px 30px 48px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:20px}.page-header h1{margin:2px 0 4px;font-size:30px;line-height:1.15;letter-spacing:-.025em}.page-header p{margin:0;color:var(--muted)}.eyebrow{display:block;color:#6b746c;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.actions form{margin:0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 14px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--text);text-decoration:none;font-weight:650;cursor:pointer;white-space:nowrap;transition:.16s ease}.button:hover{border-color:#b8c2cf;background:#f9fafb}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(99,200,50,.23)}.button.primary:hover{background:var(--accent-dark)}.button.ghost{border-color:transparent;background:transparent;color:var(--muted)}.button.danger-button,.danger-button{border-color:var(--danger);background:var(--danger);color:#fff}.button.small{min-height:32px;padding:5px 10px;border-radius:8px;font-size:12px}.button.wide{width:100%}.text-link,.back-link{color:var(--accent);text-decoration:none;font-weight:650}.back-link{display:inline-block;margin-bottom:8px;font-size:13px}
.messages{position:relative;z-index:5;margin-bottom:16px}.message{padding:12px 14px;border:1px solid #c7d7fe;border-radius:10px;background:#eef4ff}.message.success{border-color:#abefc6;background:var(--success-soft);color:#05603a}.message.warning{border-color:#fedf89;background:var(--warning-soft);color:#93370d}.message.error{border-color:#fecdca;background:#fef3f2;color:#b42318}.message.info{border-color:#b2ddff;background:#eff8ff;color:#175cd3}
.panel,.form-card,.auth-card,.metric-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.panel{margin-bottom:18px;padding:20px;overflow:visible}.table-panel{padding:0;overflow:hidden}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-heading h2,.panel h2{margin:2px 0 0;font-size:19px;letter-spacing:-.012em}.panel h3{margin:0 0 12px;font-size:16px}.content-grid{display:grid;gap:18px}.main-sidebar-grid{grid-template-columns:minmax(0,1.7fr) minmax(310px,.75fr)}.action-stack{display:flex;flex-direction:column;gap:18px}.action-stack>.panel{margin:0}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.stack-form p{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}.stack-form label,.filter-grid label>span,.date-filter-row label{font-size:12px;font-weight:700;color:#37423a}.stack-form input,.stack-form select,.stack-form textarea,.filter-shell input,.filter-shell select{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:9px;background:#fff;color:var(--text);transition:.15s ease}.stack-form textarea{min-height:88px;resize:vertical}.stack-form input:hover,.stack-form select:hover,.stack-form textarea:hover,.filter-shell input:hover,.filter-shell select:hover{border-color:#aeb8c5}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.filter-shell input:focus,.filter-shell select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(99,200,50,.13);outline:0}.helptext{color:var(--muted);font-size:11px}.errorlist{margin:0;padding-left:18px;color:var(--danger)}
.form-card{max-width:760px;margin:20px auto;padding:26px}.form-card h1{margin:0 0 20px;font-size:26px}.compact-form-card{max-width:620px}.task-complete-summary{margin:14px 0 20px;padding:14px;border-radius:10px;background:var(--surface-soft)}.task-complete-summary span{font-weight:700}.task-complete-summary p{margin:8px 0 0;white-space:pre-line}
.view-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.segmented{display:inline-flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:11px;background:#fff}.segmented a{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 11px;border-radius:8px;color:var(--muted);text-decoration:none;font-weight:650}.segmented a.active{background:#edf8e8;color:#438f25}.segmented svg{width:17px;height:17px}.segmented.compact a{min-width:38px;justify-content:center;padding:5px 8px}
.filter-shell{position:relative;margin-bottom:16px}.filter-primary-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.search-field{position:relative;display:block;flex:1;min-width:280px}.search-field svg{position:absolute;left:12px;top:11px;width:18px;height:18px;color:#8d978f}.search-field input{padding-left:39px}.filter-details{position:relative}.filter-details>summary{list-style:none}.filter-details>summary::-webkit-details-marker{display:none}.filter-count{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--accent);color:#fff;font-size:11px}.filter-popover{position:absolute;right:0;top:48px;z-index:20;width:min(760px,calc(100vw - 80px));padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 16px 50px rgba(16,24,40,.15)}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px}.filter-grid label{display:flex;flex-direction:column;gap:6px}.filter-sort{grid-column:span 2}.filter-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.task-filter-shell{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.task-filter-shell .search-field{min-width:240px}.task-filter-shell select{width:auto;min-width:145px}.date-filter-row{display:flex;gap:12px;margin-top:10px}.date-filter-row label{display:flex;align-items:center;gap:8px}.date-filter-row input{width:160px}
.kanban{display:grid;grid-template-columns:repeat(5,minmax(275px,1fr));gap:12px;overflow-x:auto;padding:1px 1px 18px}.kanban-column{min-height:67vh;padding:10px;border:1px solid var(--line);border-radius:14px;background:#eef1f5}.kanban-column>header{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 12px;font-weight:750}.kanban-column>header>div{display:flex;align-items:center;gap:8px}.kanban-column>header strong{display:grid;place-items:center;min-width:26px;height:24px;padding:0 7px;border-radius:99px;background:#fff;color:var(--muted);font-size:12px}.stage-dot{width:8px;height:8px;border-radius:50%;background:#8d978f}.kanban-column[data-stage="cold"] .stage-dot{background:#6b746c}.kanban-column[data-stage="no_answer"] .stage-dot{background:#f79009}.kanban-column[data-stage="warm"] .stage-dot{background:#2e90fa}.kanban-column[data-stage="pipe"] .stage-dot{background:#7f56d9}.kanban-column[data-stage="active"] .stage-dot{background:#12b76a}.kanban-list{min-height:58vh}.client-card{margin-bottom:9px;padding:14px;border:1px solid #dce2e9;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.04);cursor:grab;transition:.15s ease}.client-card:hover{border-color:#c5ced9;box-shadow:0 6px 18px rgba(16,24,40,.07);transform:translateY(-1px)}.client-card.dragging{opacity:.45}.client-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.client-name,.table-client-name{font-weight:750;color:var(--text);text-decoration:none}.client-name:hover,.table-client-name:hover{color:var(--accent)}.client-card .amount{font-size:13px;font-weight:750;white-space:nowrap}.client-contact{margin-top:5px;color:var(--muted);font-size:12px}.tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.tags span,.tag{display:inline-flex;align-items:center;min-height:23px;padding:3px 7px;border-radius:99px;background:#f1f4ef;color:#566057;font-size:11px;font-weight:600}.card-signals{display:grid;gap:6px;margin-top:11px;padding-top:10px;border-top:1px solid #edf0f3}.signal{display:flex;justify-content:space-between;gap:8px;font-size:11px}.signal span{color:#8d978f}.signal strong{font-weight:650;text-align:right}.signal.warning strong{color:var(--warning)}.signal.danger strong{color:var(--danger)}.client-card footer{display:flex;justify-content:space-between;gap:8px;margin-top:10px;color:#8d978f;font-size:10px}
.table-wrap{overflow:auto}.table-panel>.panel-heading{padding:20px 20px 0}.table-panel table{min-width:900px}table{width:100%;border-collapse:separate;border-spacing:0}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{position:sticky;top:0;z-index:2;background:#f7f9f5;color:#6b746c;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfcfd}.table-subline{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.money-cell{font-weight:750;white-space:nowrap}.table-tags{margin:0;min-width:130px}.muted-text{color:#8d978f}.task-link{display:flex;flex-direction:column;color:var(--text);text-decoration:none;min-width:145px}.task-link strong{font-size:12px}.task-link span,.task-link small{color:var(--muted);font-size:11px}.attention-label{display:inline-flex;padding:4px 7px;border-radius:7px;background:var(--warning-soft);color:var(--warning);font-size:11px;font-weight:650}.overdue-text,.overdue-text span{color:var(--danger)!important}.pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:14px;border-top:1px solid var(--line)}.pagination a{color:var(--accent);font-weight:650;text-decoration:none}.pagination span{color:var(--muted);font-size:12px}
.stage-badge,.status-badge,.task-type-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border-radius:99px;background:#f1f4ef;color:#566057;font-size:11px;font-weight:700;white-space:nowrap}.stage-cold{background:#f1f4ef;color:#566057}.stage-no_answer{background:#fffaeb;color:#b54708}.stage-warm{background:#eff8ff;color:#175cd3}.stage-pipe{background:#f4f3ff;color:#6938ef}.stage-active{background:#ecfdf3;color:#067647}.status-planned{background:#eff8ff;color:#175cd3}.status-done{background:#ecfdf3;color:#067647}.status-cancelled{background:#fef3f2;color:#b42318}.status-rescheduled{background:#fffaeb;color:#b54708}.task-call{background:#eff8ff;color:#175cd3}.task-meeting{background:#f4f3ff;color:#6938ef}.task-message{background:#f0f9ff;color:#026aa2}.task-offer{background:#fff6ed;color:#c4320a}.task-documents{background:#f9f5ff;color:#7f56d9}.row-overdue td{background:#fffafa}.row-overdue:hover td{background:#fff5f4}
.task-metrics{display:grid;grid-template-columns:repeat(5,minmax(135px,1fr));gap:10px;margin-bottom:16px}.task-metric{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;box-shadow:0 1px 2px rgba(16,24,40,.03)}.task-metric span{color:var(--muted);font-size:12px;font-weight:650}.task-metric strong{font-size:25px}.task-metric.active{border-color:#a8d994;background:#f2faee}.task-metric.danger strong{color:var(--danger)}.task-metric.success strong{color:var(--success)}.task-date{display:flex;flex-direction:column}.task-date span{color:var(--muted);font-size:12px}.task-comment{max-width:360px;white-space:normal}.table-actions{text-align:right}
.client-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.client-page-header h1{margin-top:0}.client-summary{display:grid;grid-template-columns:1.1fr 1.5fr 1.3fr 1.25fr 1.1fr;margin-bottom:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.client-summary>div{min-width:0;padding:15px 17px;border-right:1px solid var(--line)}.client-summary>div:last-child{border-right:0}.client-summary span,.client-summary strong{display:block}.client-summary span{margin-bottom:4px;color:var(--muted);font-size:11px}.client-summary strong{overflow:hidden;text-overflow:ellipsis;font-size:13px;white-space:nowrap}.tabs{display:flex;gap:3px;margin-bottom:16px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff;width:max-content;max-width:100%;overflow:auto}.tabs button{display:flex;align-items:center;gap:6px;min-height:36px;padding:7px 13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:650;cursor:pointer;white-space:nowrap}.tabs button.active{background:var(--accent-soft);color:#438f25}.tabs button span{display:grid;place-items:center;min-width:20px;height:20px;border-radius:99px;background:#e8ece6;font-size:10px}.details{display:grid;grid-template-columns:130px 1fr;gap:12px 16px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:550}.modern-details .tags{margin:0}.note-block{margin-top:18px;padding:14px;border-radius:10px;background:var(--surface-soft)}.note-block>span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.note-block p{margin:6px 0 0}.preline{white-space:pre-line}.timeline{display:flex;flex-direction:column}.timeline-item{position:relative;padding:0 0 18px 19px;border-left:2px solid #e4e7ec}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#8d978f;box-shadow:0 0 0 1px #d2d8d1}.timeline-item>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.timeline-item span{color:var(--muted);font-size:11px}.timeline-item p{margin:5px 0 0;color:#566057}.danger-disclosure{border:1px solid #fecdca;border-radius:12px;background:#fff}.danger-disclosure summary{padding:14px;color:#b42318;font-weight:700;cursor:pointer}.danger-disclosure>div{padding:0 14px 14px}.danger-disclosure p{margin-top:0;color:var(--muted);font-size:12px}
.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-bottom:22px}.metric-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metric-card{padding:17px}.metric-label{color:var(--muted);font-size:12px}.metric-value{margin-top:4px;font-size:29px;font-weight:780;letter-spacing:-.03em}.metric-sub{margin-top:2px;color:var(--muted);font-size:11px}.metric-card.danger .metric-value{color:var(--danger)}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:1px;overflow:auto;border:1px solid var(--line);border-radius:14px;background:var(--line);box-shadow:var(--shadow)}.calendar-head{padding:10px;background:#f7f9f5;color:#6b746c;font-size:11px;font-weight:750;text-align:center}.calendar-head.weekend{color:#b54708}.calendar-day{min-height:148px;padding:9px;background:#fff}.calendar-day.muted{background:#f7f9f5}.calendar-day>strong{display:block;color:#566057;font-size:12px}.calendar-task{display:flex;flex-direction:column;margin-top:7px;padding:7px 8px;border-left:3px solid #2e90fa;border-radius:7px;background:#eff8ff;color:#1849a9;text-decoration:none;font-size:11px}.calendar-task b{margin-top:2px;color:#37423a;font-weight:650}.calendar-task small{margin-top:2px;color:#6b746c}.calendar-task.overdue-task{border-left-color:#f04438;background:#fef3f2;color:#b42318}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:130px;padding:24px;color:var(--muted);text-align:center}.empty-state.compact{min-height:70px;padding:16px;font-size:12px}
.auth-body{background:#f1f4f8}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-layout{display:grid;grid-template-columns:1fr 450px;width:min(1040px,100%);min-height:580px;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 24px 80px rgba(16,24,40,.12)}.auth-visual{display:flex;flex-direction:column;justify-content:flex-end;padding:54px;background:radial-gradient(circle at 25% 25%,#75cf45 0,#243126 44%,#101611 100%);color:#fff}.auth-visual h1{margin:20px 0 8px;font-size:34px}.auth-visual p{max-width:420px;margin:0;color:#d2d8d1;font-size:16px}.auth-card{align-self:center;margin:38px;padding:34px;box-shadow:none}.auth-card-head{margin-bottom:23px}.auth-card-head h2{margin:5px 0;font-size:27px}.auth-card-head p{margin:0;color:var(--muted)}
@media(max-width:1250px){.client-summary{grid-template-columns:repeat(3,1fr)}.client-summary>div:nth-child(3){border-right:0}.client-summary>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.main-sidebar-grid{grid-template-columns:minmax(0,1.35fr) minmax(290px,.75fr)}.task-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.sidebar{transform:translateX(-100%);transition:.2s ease}.workspace{margin-left:0}.mobile-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.93);backdrop-filter:blur(12px)}.mobile-header .icon-button:hover{background:#f1f4ef}.sidebar-backdrop{position:fixed;inset:0;z-index:35;background:rgba(16,24,40,.45)}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .sidebar-backdrop{display:block}.page{padding:22px 18px 40px}.main-sidebar-grid,.two-columns{grid-template-columns:1fr}.reverse-on-mobile>.panel:first-child{order:2}.metric-grid{grid-template-columns:repeat(2,1fr)}.filter-popover{position:fixed;inset:auto 16px 16px;width:auto;max-height:75vh;overflow:auto}.filter-grid{grid-template-columns:repeat(2,1fr)}.auth-layout{grid-template-columns:1fr;max-width:500px;min-height:0}.auth-visual{display:none}.auth-card{margin:0;border:0}}
@media(max-width:700px){.page-header{flex-direction:column}.page-header .actions{width:100%}.page-header .actions>.button,.page-header .actions>form{flex:1}.page-header .actions form .button{width:100%}.page-header h1{font-size:27px}.client-summary{grid-template-columns:1fr 1fr}.client-summary>div{border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)}.client-summary>div:nth-child(2n){border-right:0!important}.client-summary>div:last-child{grid-column:1/-1;border-bottom:0}.filter-primary-row{align-items:stretch}.search-field{min-width:100%}.filter-details{flex:1}.filter-summary{width:100%}.filter-grid{grid-template-columns:1fr}.filter-sort{grid-column:auto}.task-filter-shell select,.task-filter-shell .button{flex:1;width:100%}.date-filter-row{flex-direction:column}.date-filter-row label{justify-content:space-between}.date-filter-row input{width:65%}.task-metrics{grid-template-columns:1fr 1fr}.task-metric{min-height:62px}.kanban{grid-template-columns:repeat(5,280px)}.metric-grid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(7,125px)}.tabs{width:100%}.tabs button{flex:1;justify-content:center}.details{grid-template-columns:1fr}.details dt{margin-top:7px}.timeline-item>div{display:block}.timeline-item span{display:block;margin-top:2px}.auth-page{padding:12px}.auth-card{padding:26px}}

.task-outcome{margin-top:6px;color:#37423a;font-weight:650}.helptext{display:block;margin-top:6px;color:#6b746c;font-size:12px;line-height:1.45}

/* Cifra Private workspace */
.sidebar{padding-top:22px;background:linear-gradient(180deg,#171d18 0%,#111612 100%)}
.sidebar-brand{display:block;padding:0 9px 18px}
.brand-wordmark,.auth-wordmark{font-size:20px;font-weight:850;letter-spacing:.08em;line-height:1;color:#fff}
.brand-wordmark span,.auth-wordmark span{display:inline-block;margin-left:7px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.18em;vertical-align:2px}
.sidebar-brand small{display:block;margin-top:7px;color:#88928a;font-size:11px;letter-spacing:.02em}
.sidebar-create{background:var(--accent);color:#101610;box-shadow:0 8px 22px rgba(99,200,50,.16)}
.sidebar-create:hover{background:#72d542}
.sidebar-search{position:relative;margin:0 4px 16px}
.sidebar-search svg{position:absolute;top:10px;left:11px;width:17px;height:17px;color:#778179}
.sidebar-search input{width:100%;height:38px;padding:8px 10px 8px 35px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.055);color:#fff;outline:0}
.sidebar-search input::placeholder{color:#7e8980}.sidebar-search input:focus{border-color:rgba(99,200,50,.65);box-shadow:0 0 0 3px rgba(99,200,50,.11)}
.page-header h1{font-weight:720}.eyebrow{color:#778078}.button.primary{color:#111711;box-shadow:0 2px 8px rgba(77,166,34,.17)}
.button.primary:hover{color:#fff}.text-link,.back-link{color:#438f25}.filter-count{color:#111711}
.search-hint{margin:7px 0 0 2px;color:var(--muted);font-size:11px}
.base-action{border-color:#a7d594;background:#f2faee;color:#347c19}
.panel-heading-padded{padding:20px 20px 0}.panel-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}
.editable-tags>span{display:inline-flex;align-items:center;gap:5px}.editable-tags form{display:inline}.editable-tags button{display:grid;place-items:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:rgba(24,32,25,.09);color:#58615a;cursor:pointer;font-size:13px;line-height:1}.editable-tags button:hover{background:#fecdca;color:#b42318}
.comment-feed{display:flex;flex-direction:column;gap:14px}.comment-item{display:grid;grid-template-columns:34px 1fr;gap:11px}.comment-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:#3b8420;font-size:12px;font-weight:800}.comment-item header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.comment-item header span{color:var(--muted);font-size:11px}.comment-item p{margin:5px 0 0;color:#4e5a50}
.history-panel{max-width:1100px}.history-timeline{position:relative}.history-entry{display:grid;grid-template-columns:26px 1fr;gap:13px;position:relative;padding-bottom:19px}.history-entry:before{content:"";position:absolute;top:19px;bottom:-2px;left:8px;width:1px;background:var(--line)}.history-entry:last-child:before{display:none}.history-icon{position:relative;z-index:1;width:17px;height:17px;margin-top:2px;border:4px solid #fff;border-radius:50%;background:#89938b;box-shadow:0 0 0 1px var(--line-strong)}.history-comment .history-icon{background:var(--accent)}.history-stage .history-icon{background:#4b7bec}.history-task .history-icon{background:#e8a11b}.history-task_done .history-icon{background:#2d9d68}.history-event .history-icon{background:#8a5bd1}.history-change .history-icon{background:#7a8580}.history-content{padding:0 0 4px}.history-content header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.history-content header>div{display:flex;flex-direction:column}.history-content strong{font-size:13px}.history-content time,.history-content footer,.history-meta{color:var(--muted);font-size:10px}.history-meta{margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em;font-weight:750}.history-content p{margin:6px 0;color:#4f5a51}.history-content footer{margin-top:5px}
.task-metrics.four{grid-template-columns:repeat(4,minmax(150px,1fr))}
.money-cell,.amount,.metric-sub{font-variant-numeric:tabular-nums}.amount{white-space:nowrap}
.auth-visual{background:radial-gradient(circle at 24% 22%,#5bc32d 0,#243126 43%,#101611 100%)}.auth-wordmark{font-size:25px}.auth-wordmark span{font-size:12px}.auth-visual h1{font-weight:720}
@media(max-width:1250px){.task-metrics.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.task-metrics.four{grid-template-columns:1fr 1fr}.comment-item header,.history-content header{display:block}.history-content time,.comment-item header span{display:block;margin-top:2px}}


/* CRM v0.3 — Cifra Private refinement */
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",Arial,sans-serif;letter-spacing:-.005em}
.sidebar{background:linear-gradient(180deg,#121713 0%,#0b0f0c 100%)}
.sidebar:after{content:"";position:absolute;inset:0 0 auto;height:180px;pointer-events:none;background:radial-gradient(circle at 18% 0%,rgba(104,211,75,.16),transparent 62%)}
.sidebar>*{position:relative;z-index:1}
.brand-wordmark{letter-spacing:.105em}.brand-wordmark span{color:#79df59}
.sidebar-create{background:#70d950;border:1px solid rgba(255,255,255,.06);color:#0d130e}.sidebar-create:hover{background:#81e264}
.panel,.form-card,.metric-card{box-shadow:0 1px 2px rgba(13,19,14,.035),0 12px 34px rgba(13,19,14,.045)}
.button{border-radius:9px}.button.primary{background:var(--accent);border-color:var(--accent);color:#101610}.button.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.base-action.prominent{min-height:42px;border-color:#5fc644;background:#68d34b;color:#101610;font-weight:750;box-shadow:0 7px 18px rgba(78,172,50,.16)}
.base-action.prominent:hover{border-color:#4eac32;background:#58be3c;color:#fff}
.filter-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.filter-sort{grid-column:span 2}
.history-heading{margin-bottom:12px}.history-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 20px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.history-filters button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}
.history-filters button span{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#eef1ed;color:#667068;font-size:10px}
.history-filters button:hover{border-color:#a8b4a5;color:var(--text)}.history-filters button.active{border-color:#b5e4a5;background:var(--accent-soft);color:#347c22}.history-filters button.active span{background:#d9f4cf;color:#347c22}
.history-day{position:relative;margin:3px 0 13px 39px;color:#7b857d;font-size:11px;font-weight:780;letter-spacing:.055em;text-transform:uppercase}.history-day:after{content:"";position:absolute;top:50%;right:0;left:88px;height:1px;background:var(--line)}
.history-entry[hidden],.history-day[hidden]{display:none!important}.history-content strong{font-size:14px}.history-content p{max-width:850px;line-height:1.55}
.history-task_done .history-icon{background:#4bae36}.history-stage .history-icon{background:#222c24}.history-event .history-icon{background:#7c5cc4}.history-change .history-icon{background:#7d8880}
input[data-ruble-input]{font-variant-numeric:tabular-nums;font-weight:650}
@media(max-width:1250px){.filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:700px){.filter-grid{grid-template-columns:1fr}.filter-sort{grid-column:auto}.history-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:12px}.history-filters button{flex:0 0 auto}.history-day{margin-left:30px}}

/* CRM v0.4 — светлая фирменная тема и проверенная аналитика */
:root{
  --bg:#f4f7f5;
  --surface:#ffffff;
  --surface-soft:#f8faf9;
  --text:#15221a;
  --muted:#6b776f;
  --line:#dfe7e2;
  --line-strong:#c9d5ce;
  --accent:#0ae15f;
  --accent-dark:#00b94d;
  --accent-soft:#e9fbf0;
  --sidebar:#ffffff;
  --sidebar-soft:#f4f7f5;
  --shadow:0 1px 2px rgba(18,38,25,.035),0 10px 30px rgba(18,38,25,.055);
}
html,body{background:var(--bg)}
body{color:var(--text)}
.sidebar{
  border-right:1px solid var(--line);
  background:#fff;
  color:var(--text);
  box-shadow:2px 0 18px rgba(21,34,26,.025);
}
.sidebar:after{display:none}
.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 7px 18px}
.brand-logo{width:34px;height:36px;object-fit:contain;flex:0 0 auto}
.brand-copy{min-width:0}.brand-wordmark{color:#121c16;font-size:17px;letter-spacing:.075em}.brand-wordmark span{color:#00b94d;font-size:9px;letter-spacing:.16em}.sidebar-brand small{margin-top:5px;color:#87928b}
.sidebar-create{background:var(--accent);border:1px solid var(--accent);color:#0c2415;box-shadow:0 6px 16px rgba(10,225,95,.18)}
.sidebar-create:hover{background:#13ed6b;border-color:#13ed6b;color:#0c2415}
.sidebar-search input{border-color:var(--line);background:#f7faf8;color:var(--text)}
.sidebar-search input::placeholder{color:#94a099}.sidebar-search input:focus{border-color:#68e79d;background:#fff;box-shadow:0 0 0 3px rgba(10,225,95,.12)}
.sidebar-search svg{color:#7a877f}
.nav-item{color:#59665e}.nav-item:hover{background:#f1f6f3;color:#18241c}.nav-item.active{background:var(--accent-soft);color:#0a6e35}.nav-item.active svg{color:#00a947}
.nav-section-label{color:#9aa49e}
.sidebar-user{border-top-color:var(--line)}.avatar{background:#e8f8ee;color:#08723a}.user-meta span{color:#8a958e}.sidebar-user .icon-button:hover{background:#eef3f0}
.mobile-header{background:rgba(255,255,255,.94)}.mobile-brand{display:flex;align-items:center;gap:8px}.mobile-brand img{width:23px;height:25px;object-fit:contain}.mobile-brand strong{font-size:12px;letter-spacing:.035em}
.page{max-width:1680px}
.panel,.form-card,.metric-card,.filter-shell{border-color:var(--line);box-shadow:var(--shadow)}
.metric-card{position:relative;overflow:hidden;background:#fff;text-decoration:none;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
a.metric-card:hover{transform:translateY(-1px);border-color:#b9d8c5;box-shadow:0 2px 3px rgba(18,38,25,.04),0 15px 34px rgba(18,38,25,.075)}
.metric-card-primary:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--accent)}
.metric-value{color:#17231b}.metric-sub{color:#748077}
.button.primary{background:var(--accent);border-color:var(--accent);color:#0c2415;box-shadow:0 5px 14px rgba(10,225,95,.16)}.button.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}
.text-link,.back-link{color:#008f3e}.filter-count{color:#075f30}.base-action.prominent{border-color:var(--accent);background:var(--accent);color:#0d2416}.base-action.prominent:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.auth-body{background:#f4f7f5}.auth-layout{box-shadow:0 22px 70px rgba(20,38,27,.09)}.auth-visual{position:relative;overflow:hidden;background:linear-gradient(145deg,#f0fff6 0%,#e5faed 60%,#f8fbf9 100%);color:var(--text)}.auth-visual:after{content:"";position:absolute;width:360px;height:360px;right:-120px;bottom:-150px;border-radius:50%;background:rgba(10,225,95,.10)}.auth-visual>*{position:relative;z-index:1}.auth-brand{display:flex;align-items:center;gap:12px}.auth-brand img{width:48px;height:51px;object-fit:contain}.auth-wordmark{color:#122018}.auth-wordmark span{color:#00a947}.auth-visual p{color:#617067}.auth-card{background:#fff}

.analytics-header{margin-bottom:16px}.analytics-period{margin-bottom:30px}.analytics-section{margin-bottom:32px}.analytics-section-heading{align-items:flex-end;margin-bottom:14px}.analytics-section-heading p{max-width:620px;text-align:right}.analytics-summary-grid{grid-template-columns:repeat(6,minmax(155px,1fr))}.analytics-period-grid{grid-template-columns:repeat(5,minmax(155px,1fr))}
.funnel-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px}.funnel-card{position:relative;min-height:100px;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow);text-decoration:none;overflow:hidden}.funnel-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#cdd8d1}.funnel-card:hover{border-color:#b8d9c5}.funnel-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.funnel-top span{color:#657168;font-size:12px;font-weight:700}.funnel-top strong{font-size:25px;line-height:1}.funnel-amount{margin-top:19px;color:#28372e;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.funnel-cold:before{background:#aab6ae}.funnel-no_answer:before{background:#f0b94a}.funnel-warm:before{background:#74d6a0}.funnel-pipe:before{background:#0ae15f}.funnel-active:before{background:#00a947}
.analytics-team-panel{margin-top:4px}.analytics-team-panel table{min-width:1050px}.analytics-team-panel tbody tr:hover{background:#f8fbf9}.text-danger{color:#b42318;font-weight:750}.empty-table{text-align:center;color:var(--muted)}
.analytics-methodology{margin-top:20px;border:1px solid var(--line);border-radius:14px;background:#fff}.analytics-methodology summary{padding:15px 18px;cursor:pointer;color:#4f5d54;font-weight:700}.analytics-methodology>div{padding:0 18px 15px;border-top:1px solid var(--line);color:#68756d;font-size:12px}.analytics-methodology p{margin:11px 0}.analytics-methodology strong{color:#324038}

@media(max-width:1450px){.analytics-summary-grid{grid-template-columns:repeat(3,1fr)}.analytics-period-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1150px){.funnel-grid{grid-template-columns:repeat(3,1fr)}.analytics-section-heading{display:block}.analytics-section-heading p{margin-top:5px;text-align:left}}
@media(max-width:700px){.analytics-summary-grid,.analytics-period-grid,.funnel-grid{grid-template-columns:1fr 1fr}.brand-logo{width:31px;height:33px}.analytics-methodology{margin-top:14px}}
@media(max-width:450px){.analytics-summary-grid,.analytics-period-grid,.funnel-grid{grid-template-columns:1fr}}

/* CRM v0.5 — пастельная тема, массовые операции и мероприятия */
:root{
  --bg:#f5f6f2;
  --surface:#ffffff;
  --surface-soft:#f8faf7;
  --text:#24332b;
  --muted:#748078;
  --line:#e1e7e2;
  --line-strong:#cbd6cf;
  --accent:#6f9f8b;
  --accent-dark:#527b6a;
  --accent-soft:#edf4f0;
  --accent-pale:#f3f8f5;
  --shadow:0 1px 2px rgba(35,51,43,.03),0 10px 30px rgba(35,51,43,.045);
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-color:rgba(111,159,139,.28)}
.sidebar{background:#fbfcfa}.sidebar-brand{padding:0 7px 20px}.brand-logo{width:39px;height:39px;padding:7px;border:1px solid #d7e3dc;border-radius:11px;background:#edf4f0;object-fit:contain}.brand-wordmark{color:#27362e}.brand-wordmark span{color:#5f8e7a}.sidebar-create{background:#dcebe4;border-color:#d2e2da;color:#355849;box-shadow:none}.sidebar-create:hover{background:#cfe2d9;border-color:#c4d9cf;color:#29483b}.sidebar-search input:focus{border-color:#9bbcab;box-shadow:0 0 0 3px rgba(111,159,139,.13)}.nav-item.active{background:#edf4f0;color:#416c5a}.nav-item.active svg{color:#527b6a}.avatar{background:#e4eee9;color:#466f5e}
.button.primary{background:#5f8e7a;border-color:#5f8e7a;color:#fff;box-shadow:0 4px 12px rgba(82,123,106,.14)}.button.primary:hover{background:#4e7565;border-color:#4e7565}.base-action.prominent{background:#dcebe4;border-color:#c8ddd2;color:#355849;box-shadow:none}.base-action.prominent:hover{background:#cfe2d9;border-color:#bad3c6;color:#29483b}.text-link,.back-link{color:#527b6a}.filter-count{color:#466f5e}.metric-card-primary:before{background:#7fa893}.funnel-pipe:before{background:#82ad98}.funnel-active:before{background:#5f8e7a}.funnel-warm:before{background:#a9cdb9}.funnel-no_answer:before{background:#d8bd8a}.funnel-cold:before{background:#b9c3bc}
.auth-visual{background:linear-gradient(145deg,#f4f8f5 0%,#eaf2ee 65%,#f8faf8 100%)}.auth-visual:after{background:rgba(111,159,139,.10)}.auth-brand img{padding:9px;border-radius:14px;background:#edf4f0;border:1px solid #d7e3dc}.auth-wordmark span{color:#5f8e7a}

/* Канбан */
.csrf-anchor{display:none}.client-card{position:relative;-webkit-user-drag:element}.drag-handle{position:absolute;top:9px;right:9px;color:#9ba8a0;font-size:16px;line-height:1;letter-spacing:-4px;cursor:grab;user-select:none}.client-card.dragging{opacity:.42;transform:rotate(.4deg)}.client-card.saving{opacity:.62;pointer-events:none}.kanban-list{transition:background .15s ease,outline-color .15s ease}.kanban-list.drop-target{background:#f0f6f2;outline:2px dashed #9ab9aa;outline-offset:-4px;border-radius:10px}.kanban-column[data-stage="cold"] .stage-dot{background:#aeb9b2}.kanban-column[data-stage="no_answer"] .stage-dot{background:#d2b173}.kanban-column[data-stage="warm"] .stage-dot{background:#9fc7af}.kanban-column[data-stage="pipe"] .stage-dot{background:#7fa893}.kanban-column[data-stage="active"] .stage-dot{background:#5f8e7a}

/* Массовые действия */
.selection-cell{width:42px;text-align:center!important}.selection-cell input{width:17px;height:17px;accent-color:#5f8e7a}.selectable-table tbody tr:has([data-client-checkbox]:checked){background:#f1f6f3}.bulk-selection-note{display:flex;align-items:center;gap:14px;min-height:42px;margin:0 0 10px;padding:8px 13px;border:1px solid #d6e3dc;border-radius:11px;background:#f2f7f4;color:#496757}.bulk-selection-note[hidden],.bulk-action-panel[hidden],.bulk-fields[hidden]{display:none!important}.text-button{padding:0;border:0;background:none;color:#527b6a;font-weight:700;cursor:pointer}.text-button.muted{margin-left:auto;color:#7e8a83}.bulk-action-panel{position:sticky;bottom:16px;z-index:25;margin-top:14px;padding:16px;border:1px solid #cbdcd3;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 14px 38px rgba(35,51,43,.14);backdrop-filter:blur(12px)}.bulk-action-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.bulk-action-head strong{display:block;margin-top:3px}.bulk-action-head select{min-width:260px}.bulk-fields{margin-top:14px;padding:14px;border-radius:11px;background:#f6f8f6}.bulk-fields label{display:grid;gap:6px}.bulk-fields label>span{font-size:12px;font-weight:700;color:#647169}.bulk-fields p{margin:7px 0 0;color:var(--muted);font-size:12px}.bulk-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.bulk-wide{grid-column:1/-1}.bulk-action-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.danger-zone-soft{border:1px solid #ead7cf;background:#fcf7f4}.template-download svg{width:18px;height:18px}

/* Мероприятия */
.event-filter-shell{margin-bottom:16px}.event-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:10px;margin-top:12px}.event-filter-grid label{display:grid;gap:5px}.event-filter-grid label>span{color:#66736b;font-size:11px;font-weight:700}.events-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px}.event-list{padding:0;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}.panel-heading h2{margin:3px 0 0}.counter-pill{display:grid;place-items:center;min-width:30px;height:26px;padding:0 8px;border-radius:999px;background:#edf4f0;color:#527b6a;font-weight:800}.event-list-scroll{max-height:720px;overflow:auto}.event-list-item{display:grid;grid-template-columns:53px minmax(0,1fr);gap:12px;padding:14px 16px;border-bottom:1px solid #edf0ed;text-decoration:none;transition:.14s ease}.event-list-item:hover{background:#f8faf8}.event-list-item.active{background:#edf4f0;box-shadow:inset 3px 0 #6f9f8b}.event-list-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;border:1px solid #dce5df;border-radius:10px;background:#fff}.event-list-date strong{font-size:19px}.event-list-date span{font-size:10px;color:var(--muted);text-transform:uppercase}.event-list-copy strong,.event-list-copy span{display:block}.event-list-copy>span{margin-top:3px;color:var(--muted);font-size:12px}.event-mini-stats{display:flex;gap:9px;margin-top:8px}.event-mini-stats span{padding:3px 7px;border-radius:999px;background:#fff;color:#647169;font-size:10px;font-weight:700}.event-participants-panel{padding:0;overflow:hidden}.event-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}.event-detail-head h2{margin:3px 0 4px;font-size:23px}.event-detail-head p{margin:0;color:var(--muted)}.event-stat-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.event-stat-grid>div{padding:13px 12px;background:#fafcfb;text-align:center}.event-stat-grid span,.event-stat-grid strong{display:block}.event-stat-grid span{color:var(--muted);font-size:10px}.event-stat-grid strong{margin-top:3px;font-size:18px}.participation-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef2ef;color:#5c6961;font-size:11px;font-weight:750}.participation-attended{background:#e5f1eb;color:#47715f}.participation-confirmed,.participation-registered{background:#edf2f8;color:#526b83}.participation-no_show,.participation-declined{background:#f8eeee;color:#8a5e5e}.event-participants-table{min-width:900px}.status-planned{background:#edf2f8;color:#526b83}.status-held{background:#e5f1eb;color:#47715f}.status-cancelled{background:#f8eeee;color:#8a5e5e}

.import-guide .button.wide{margin-top:14px;background:#f3f7f4}.import-guide .button.wide:hover{background:#eaf2ee}

@media(max-width:1450px){.event-filter-grid{grid-template-columns:repeat(3,1fr)}.event-stat-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1100px){.events-layout{grid-template-columns:1fr}.event-list-scroll{max-height:380px}.bulk-action-head{align-items:stretch;flex-direction:column}.bulk-action-head select{width:100%}}
@media(max-width:700px){.brand-logo{width:35px;height:35px}.bulk-grid,.event-filter-grid{grid-template-columns:1fr}.bulk-wide{grid-column:auto}.bulk-selection-note{align-items:flex-start;flex-direction:column;gap:7px}.text-button.muted{margin-left:0}.event-stat-grid{grid-template-columns:repeat(2,1fr)}.event-detail-head{display:block}.event-detail-head .status-badge{margin-top:10px}}

/* CRM v0.5.1 — обновлённый логотип, более живые пастельные цвета и устойчивые мероприятия */
:root{
  --bg:#f3f8f5;
  --surface:#ffffff;
  --surface-soft:#f7fbf9;
  --text:#20362c;
  --muted:#6f7f76;
  --line:#dce8e1;
  --line-strong:#bfd5c8;
  --accent:#78cda0;
  --accent-dark:#53ad7d;
  --accent-strong:#338c62;
  --accent-soft:#e2f4ea;
  --accent-pale:#eff9f4;
  --shadow:0 1px 2px rgba(30,59,43,.035),0 12px 34px rgba(30,59,43,.06);
}
body{background:linear-gradient(180deg,#f7fbf9 0,#f3f8f5 260px)}
.sidebar{background:#fcfefc}
.brand-logo{width:42px;height:42px;padding:0;border:0;border-radius:11px;background:#0ad65c;object-fit:cover;box-shadow:0 5px 14px rgba(19,157,81,.16)}
.brand-wordmark{color:#23382d}.brand-wordmark span{color:var(--accent-strong)}
.sidebar-brand small{color:#7a8b81}
.sidebar-create{background:#d9f0e3;border-color:#c5e5d3;color:#275f45}.sidebar-create:hover{background:#ccebd9;border-color:#b8ddc8;color:#1e533b}
.nav-item:hover{background:#eef7f2;color:#21382c}.nav-item.active{background:#dcf2e6;color:#2e7654}.nav-item.active svg{color:#3d9a6d}
.sidebar-search input:focus{border-color:#8bcfb0;box-shadow:0 0 0 3px rgba(120,205,160,.18)}
.avatar{background:#dff2e8;color:#2f7655}
.button.primary{background:#67bf8e;border-color:#67bf8e;color:#173828;box-shadow:0 5px 14px rgba(75,164,116,.16)}
.button.primary:hover{background:#51ae7a;border-color:#51ae7a;color:#fff}
.base-action.prominent{background:#dff2e8;border-color:#c7e4d4;color:#2c674b}.base-action.prominent:hover{background:#d0eadc;border-color:#b8dbc8;color:#23583f}
.metric-card-primary:before{background:#73c79a}.funnel-pipe:before{background:#75c99d}.funnel-active:before{background:#4fad79}.funnel-warm:before{background:#a1d8b9}.funnel-no_answer:before{background:#e1c38d}.funnel-cold:before{background:#b8c9bf}
.auth-visual{background:linear-gradient(145deg,#edf9f2 0%,#dff3e8 64%,#f8fcfa 100%)}
.auth-brand img{width:56px;height:56px;padding:0;border:0;border-radius:14px;background:#0ad65c;object-fit:cover;box-shadow:0 8px 22px rgba(16,151,75,.16)}
.auth-wordmark span{color:var(--accent-strong)}
.mobile-brand img{width:30px;height:30px;border-radius:8px;object-fit:cover}

/* Массовые действия всегда появляются над таблицей и легко находятся */
.bulk-action-panel{position:relative;bottom:auto;margin:0 0 12px;border-color:#bcd9c9;background:#fbfefc;box-shadow:0 10px 28px rgba(35,85,58,.10)}
.bulk-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.bulk-quick-button{min-height:34px;padding:6px 11px;border:1px solid #cfe2d7;border-radius:999px;background:#f1f8f4;color:#456c58;font-weight:700;cursor:pointer}
.bulk-quick-button:hover{border-color:#9fcbb4;background:#e5f4eb;color:#2e6548}
.bulk-quick-button.emphasized{border-color:#9bcdb0;background:#dff2e8;color:#2b694b}
.bulk-fields{background:#f4faf7}
.selection-cell input{accent-color:#4fae79}
.selectable-table tbody tr:has([data-client-checkbox]:checked){background:#edf8f2}

/* Мероприятия: карточки сверху, участники на всю ширину */
.events-layout{grid-template-columns:minmax(0,1fr);gap:18px}
.event-list{overflow:visible}
.event-list-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:none;overflow:visible;padding:14px}
.event-list-item{grid-template-columns:58px minmax(0,1fr);gap:12px;min-width:0;padding:12px;border:1px solid #dfe9e3;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(31,66,46,.035)}
.event-list-item:last-child{border-bottom:1px solid #dfe9e3}
.event-list-item:hover{border-color:#b9d9c8;background:#f5fbf8;box-shadow:0 5px 14px rgba(31,66,46,.065)}
.event-list-item.active{border-color:#79c9a0;background:#e8f7ef;box-shadow:0 0 0 2px rgba(95,190,140,.20)}
.event-list-date{width:58px;min-height:64px;border-color:#cfe0d7;border-radius:11px;background:#fbfefc}
.event-list-date strong{font-size:21px}.event-list-date span{font-size:10px;line-height:1.2;text-align:center}
.event-list-copy{min-width:0}.event-list-copy>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.event-list-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-mini-stats{flex-wrap:wrap;gap:6px}.event-mini-stats span{padding:3px 8px;background:#f5faf7;color:#5f7468}
.event-participants-panel{min-width:0}.event-detail-head{background:#fbfefc}.event-stat-grid{grid-template-columns:repeat(7,minmax(90px,1fr));overflow-x:auto}.event-stat-grid>div{min-width:90px;background:#f8fcfa}
.event-participants-table{min-width:860px}
.counter-pill{background:#def2e8;color:#357a57}
.status-planned{background:#e8f0f8;color:#4c6984}.status-held{background:#e0f3e8;color:#367455}.status-cancelled{background:#f8ecec;color:#875757}
.participation-attended{background:#ddf2e7;color:#337152}.participation-confirmed,.participation-registered{background:#e8f0f8;color:#4b6681}

@media(max-width:1100px){
  .event-list-scroll{grid-template-columns:repeat(2,minmax(240px,1fr))}
}
@media(max-width:700px){
  .brand-logo{width:38px;height:38px}
  .event-list-scroll{grid-template-columns:1fr;padding:10px}
  .event-list-item{grid-template-columns:54px minmax(0,1fr)}
  .event-list-date{width:54px}
  .bulk-quick-actions{display:grid;grid-template-columns:1fr 1fr}
  .bulk-quick-button{border-radius:10px}
}

/* CRM v0.5.2 — компактные массовые действия в длинных списках */
.bulk-command-bar[hidden],.bulk-dialog-backdrop[hidden],.bulk-fields[hidden]{display:none!important}
.bulk-command-bar{
  position:fixed;
  left:calc(var(--sidebar-width) + 30px);
  right:30px;
  bottom:18px;
  z-index:70;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:64px;
  padding:11px 14px 11px 18px;
  border:1px solid #b8d9c7;
  border-radius:16px;
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 44px rgba(39,83,58,.16);
  backdrop-filter:blur(16px);
}
.bulk-command-summary{display:flex;align-items:center;gap:15px;min-width:0}.bulk-command-summary strong{white-space:nowrap;color:#274c38}.bulk-command-summary .text-button{white-space:nowrap}
.bulk-command-controls{display:flex;align-items:center;gap:8px}.bulk-command-controls select{min-width:245px;height:40px;padding:7px 34px 7px 11px;border:1px solid #bfd8ca;border-radius:10px;background:#f7fbf9;color:var(--text);font-weight:700}
.bulk-selection-active .page{padding-bottom:118px}
.bulk-dialog-backdrop{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:22px;background:rgba(27,45,35,.30);backdrop-filter:blur(3px)}
.bulk-action-dialog{width:min(620px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;border:1px solid #c8ded1;border-radius:18px;background:#fff;box-shadow:0 26px 80px rgba(25,53,37,.24)}
.bulk-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 22px 16px;border-bottom:1px solid var(--line);background:#f8fcfa}.bulk-dialog-head h2{margin:3px 0 2px;font-size:22px}.bulk-dialog-head p{margin:0;color:var(--muted);font-size:12px}.bulk-dialog-close{color:#5f7066}.bulk-dialog-close:hover{background:#eaf4ee}
.bulk-dialog-body{padding:18px 22px}.bulk-dialog-body .bulk-fields{margin:0;padding:0;background:transparent}.bulk-dialog-body .bulk-fields label{display:grid;gap:7px}.bulk-dialog-body .bulk-fields label>span{color:#5c6d63;font-size:12px;font-weight:750}.bulk-dialog-body input,.bulk-dialog-body select,.bulk-dialog-body textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--text)}.bulk-dialog-body textarea{min-height:92px;resize:vertical}.bulk-dialog-body .danger-zone-soft{padding:14px;border:1px solid #ecd8cf;border-radius:12px;background:#fcf7f4}
.bulk-dialog-footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px 20px;border-top:1px solid var(--line);background:#fbfdfc}
.bulk-dialog-open{overflow:hidden}

@media(max-width:980px){
  .bulk-command-bar{left:18px;right:18px;bottom:14px}
}
@media(max-width:700px){
  .bulk-command-bar{align-items:stretch;flex-direction:column;gap:8px;padding:11px 12px}.bulk-command-summary{justify-content:space-between}.bulk-command-summary .text-button{font-size:11px}.bulk-command-controls{width:100%}.bulk-command-controls select{flex:1;min-width:0}.bulk-command-controls .button{padding-inline:9px}.bulk-selection-active .page{padding-bottom:155px}.bulk-dialog-backdrop{padding:10px}.bulk-action-dialog{max-height:calc(100vh - 20px);border-radius:14px}.bulk-dialog-head,.bulk-dialog-body,.bulk-dialog-footer{padding-left:16px;padding-right:16px}
}

/* CRM v0.5.10 — группировка аналитики по департаменту, командам и сотрудникам */
.analytics-group-heading{align-items:center}
.analytics-group-switch{flex-shrink:0}
.analytics-entity-cell{min-width:220px}
.analytics-entity-cell strong,.analytics-entity-cell span{display:block}
.analytics-entity-cell span{margin-top:3px;color:var(--muted);font-size:12px;font-weight:500}
@media(max-width:900px){.analytics-group-heading{align-items:flex-start;flex-direction:column}.analytics-group-switch{max-width:100%;overflow-x:auto}}

/* CRM 0.6.0 — блок «Сделки и прогноз». Добавлено поверх стилей v0.5.4. */
.deal-summary-grid{margin-bottom:16px}
.deal-filter-grid{margin-top:12px}
.deal-kanban{grid-template-columns:repeat(5,minmax(205px,1fr))}
.deal-kanban .kanban-column[data-stage="qualification"] .stage-dot{background:#6b746c}
.deal-kanban .kanban-column[data-stage="proposal"] .stage-dot{background:#2e90fa}
.deal-kanban .kanban-column[data-stage="negotiation"] .stage-dot{background:#7a5af8}
.deal-kanban .kanban-column[data-stage="paperwork"] .stage-dot{background:#f79009}
.deal-kanban .kanban-column[data-stage="won"] .stage-dot{background:#12b76a}
.kanban-column-total{padding:0 4px 10px;color:#657168;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}
.deal-card .deal-client-link{color:#3d6b4c;font-weight:650;text-decoration:none}
.deal-card .deal-client-link:hover{text-decoration:underline}
.deal-card .deal-probability{background:#eef4ff;color:#2a4c86}
.board-hint{margin:2px 0 20px;color:var(--muted);font-size:12px}
.stage-badge.deal-stage-qualification{background:#f1f4ef;color:#566057}
.stage-badge.deal-stage-proposal{background:#eff8ff;color:#175cd3}
.stage-badge.deal-stage-negotiation{background:#f4f3ff;color:#5925dc}
.stage-badge.deal-stage-paperwork{background:var(--warning-soft);color:var(--warning)}
.stage-badge.deal-stage-won{background:var(--success-soft);color:var(--success)}
.stage-badge.deal-stage-lost{background:var(--danger-soft);color:var(--danger)}
.stage-badge.deal-stage-overdue{background:var(--danger-soft);color:var(--danger)}
.deal-funnel-grid{grid-template-columns:repeat(4,minmax(170px,1fr))}
.funnel-card.funnel-deal-qualification:before{background:#98a2b3}
.funnel-card.funnel-deal-proposal:before{background:#2e90fa}
.funnel-card.funnel-deal-negotiation:before{background:#7a5af8}
.funnel-card.funnel-deal-paperwork:before{background:#f79009}
.funnel-weighted{margin-top:6px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.history-entry.history-deal .history-icon{background:#7a5af8}
@media (max-width:1100px){.deal-kanban{grid-template-columns:repeat(5,minmax(225px,1fr))}.deal-funnel-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}
/* Денежные значения в KPI-карточках: не должны переноситься на две строки. */
.metric-value.money{font-size:23px;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:1400px){.metric-value.money{font-size:20px}}
.forecast-structure-table th,.forecast-structure-table td{white-space:nowrap}
.forecast-structure-table td{font-variant-numeric:tabular-nums}
.forecast-structure-table .analytics-entity-cell{white-space:normal;min-width:190px}
