.finance-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.finance-stats.customer-cari { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.chart-filters.receivable-periods { margin:18px 0; }
.inline-pay { margin-top:7px; }
.inline-pay .btn { padding:6px 9px; font-size:10px; }
.proposal-sheet { max-width:900px; margin:30px auto; padding:44px; background:#fff; border:1px solid var(--line); border-radius:20px; }
.proposal-brand { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:50px; }
.proposal-brand>div:last-child { display:flex; flex-direction:column; text-align:right; }
.proposal-sheet h1 { margin:0 0 30px; font-size:34px; }
.proposal-table { margin-top:25px; }
.proposal-total { display:flex; flex-direction:column; align-items:flex-end; gap:8px; margin-top:25px; }
.proposal-total strong { font-size:22px; color:var(--violet); }
.proposal-notes { margin-top:40px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); line-height:1.6; }
.print-actions { max-width:900px; margin:20px auto -10px; display:flex; justify-content:flex-end; }
@media print { .print-actions{display:none}.proposal-sheet{margin:0;border:0;padding:20px}.proposal-sheet .table-tools,.proposal-sheet .table-pagination{display:none} }
.module-tabs { display:flex; gap:7px; margin:-10px 0 24px; padding:6px; overflow:auto; border:1px solid var(--line); border-radius:13px; background:#fff; }
.module-tabs a { padding:9px 13px; border-radius:9px; color:#77717e; font-size:11px; font-weight:800; white-space:nowrap; }
.module-tabs a:hover { color:#5038b2; background:#f5f2ff; }
.module-tabs a.active { color:#fff; background:#6c4dff; box-shadow:0 6px 16px rgba(108,77,255,.22); }
.ops-navigation { margin:-10px 0 25px; }
.ops-primary { display:flex; gap:6px; padding:5px; width:max-content; max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:13px; background:#fff; }
.ops-primary a { padding:10px 17px; border-radius:9px; color:#77717e; font-size:12px; font-weight:850; white-space:nowrap; }
.ops-primary a.active { color:#fff; background:#17151c; }
.ops-secondary { display:flex; gap:18px; padding:13px 10px 0; overflow:auto; }
.ops-secondary a { padding:0 0 8px; border-bottom:2px solid transparent; color:#8b8690; font-size:11px; font-weight:800; white-space:nowrap; }
.ops-secondary a:hover,.ops-secondary a.active { color:#5d42d0; border-color:#7458ef; }
.global-search-trigger { width:100%; display:flex; align-items:center; gap:9px; margin:25px 0 2px; padding:10px 11px; border:1px solid #302e38; border-radius:10px; color:#a6a2ad; background:#1b1a20; cursor:pointer; font-size:11px; text-align:left; }
.global-search-trigger>span { color:#c6b9ff; font-size:17px; }.global-search-trigger kbd { margin-left:auto; padding:3px 6px; border:1px solid #3a3742; border-radius:5px; color:#77727f; background:#111016; font:9px inherit; }
.global-search-dialog { width:min(680px,calc(100% - 24px)); margin-top:12vh; padding:0; border:1px solid #dfdae8; border-radius:17px; box-shadow:0 30px 90px rgba(16,10,30,.3); }
.global-search-dialog form { display:grid; grid-template-columns:28px 1fr auto; align-items:center; gap:8px; padding:17px 19px; }
.global-search-dialog form>span { color:var(--violet); font-size:24px; }.global-search-dialog input { width:100%; border:0; outline:0; background:transparent; font-size:16px; }.global-search-dialog kbd { color:#99939f; font-size:9px; }
.global-search-dialog>p { margin:0; padding:10px 19px; border-top:1px solid var(--line); color:var(--muted); background:#faf9fb; font-size:9px; letter-spacing:.04em; }
.search-page-form { display:grid; grid-template-columns:30px 1fr auto; align-items:center; gap:8px; margin-bottom:18px; padding:10px 12px 10px 17px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.search-page-form>span { color:var(--violet); font-size:22px; }.search-page-form input { min-width:0; padding:9px 0; border:0; outline:0; font-size:15px; }
.search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.search-result { display:grid; grid-template-columns:38px minmax(0,1fr) 18px; align-items:center; gap:12px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.search-result:hover { border-color:#d7ceff; box-shadow:0 10px 26px rgba(37,25,70,.06); }.search-result-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:#fff; background:#7658ed; font-size:12px; font-weight:900; }.search-result-icon.customer,.search-result-icon.service { background:#18a96b; }.search-result-icon.invoice { background:#e39b28; }.search-result-icon.task { background:#3974e8; }.search-result-icon.proposal { background:#9b55d4; }
.search-result small,.search-result b,.search-result p { display:block; }.search-result small { color:var(--violet); font-size:8px; font-weight:900; text-transform:uppercase; }.search-result b { margin-top:3px; font-size:13px; }.search-result p { margin:3px 0 0; overflow:hidden; color:var(--muted); font-size:10px; white-space:nowrap; text-overflow:ellipsis; }.search-result>i { color:#aaa; font-style:normal; }

.report-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr); gap:16px; margin-top:16px; }
.report-card { min-height:330px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:18px; }
.report-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:16px; }
.report-head h2 { margin:0 0 5px; font-size:17px; }
.report-head p { margin:0; color:var(--muted); font-size:12px; }
.legend { display:flex; gap:13px; color:var(--muted); font-size:10px; font-weight:800; }
.legend span::before { content:""; display:inline-block; width:8px; height:8px; margin-right:6px; border-radius:3px; }
.income-key::before { background:#7458ee; }
.expense-key::before { background:#f2a64b; }
.chart-filters { display:flex; flex-wrap:wrap; gap:6px; margin:-4px 0 14px; }
.chart-filter { padding:6px 10px; border:1px solid #e6e1ef; border-radius:999px; color:#726c7b; background:#faf9fc; font-size:10px; font-weight:800; }
.chart-filter:hover { border-color:#cfc4ff; color:#553bc6; }
.chart-filter.active { border-color:#7458ee; color:#fff; background:#7458ee; box-shadow:0 5px 14px rgba(116,88,238,.2); }
.chart { display:block; width:100%; height:auto; overflow:visible; }
.chart text { fill:#8b8792; font-size:11px; font-weight:700; }
.chart .axis { stroke:#e9e7ed; stroke-width:1; }
.income-bar { fill:#7458ee; }
.expense-bar { fill:#f2a64b; }
.category-chart { display:flex; flex-direction:column; gap:17px; padding-top:8px; }
.category-row>div { display:flex; justify-content:space-between; gap:12px; margin-bottom:7px; font-size:12px; }
.category-row span { color:#625e67; }
.category-row b { font-size:11px; }
.category-row progress { width:100%; height:8px; border:0; border-radius:99px; overflow:hidden; background:#efedf3; }
.category-row progress::-webkit-progress-bar { background:#efedf3; }
.category-row progress::-webkit-progress-value { background:linear-gradient(90deg,#f4a442,#ffca73); border-radius:99px; }
.category-row progress::-moz-progress-bar { background:linear-gradient(90deg,#f4a442,#ffca73); border-radius:99px; }
.customer-link b { color:#4f35c3; }
.back-link { display:inline-flex; margin-bottom:20px; color:#6a6373; font-size:12px; font-weight:800; }
.customer-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:25px; background:linear-gradient(135deg,#fff,#f6f2ff); border:1px solid #e5dfff; border-radius:20px; }
.customer-hero h1 { margin:0 0 7px; font-size:32px; letter-spacing:-.04em; }
.customer-hero p:last-child { margin:0; color:var(--muted); font-size:13px; }
.customer-info-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:14px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--line); }
.customer-info-grid>div { min-height:76px; padding:14px 16px; background:#fff; }
.customer-info-grid .wide { grid-column:span 2; }
.customer-info-grid span { display:block; margin-bottom:7px; color:var(--muted); font-size:9px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.customer-info-grid b { font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.customer-info-grid a { color:#5b3ed0; }
.customer-hero + .paytr-readiness,
.customer-hero [data-modal-open="new-payment-order"] { display:none; }
.paytr-readiness { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:16px; padding:17px 19px; border:1px solid #dbe5fa; border-radius:15px; background:#f6f9ff; }
.paytr-readiness div>span { color:#3974e8; font-size:9px; font-weight:900; letter-spacing:.14em; }
.paytr-readiness strong { display:block; margin:4px 0; font-size:14px; }
.paytr-readiness p { margin:0; color:var(--muted); font-size:11px; }
.service-icon { display:inline-grid; place-items:center; width:28px; height:28px; margin-right:9px; border-radius:8px; color:#fff; background:linear-gradient(135deg,#7658ed,#ab72ff); font-weight:900; }
.check-label { flex-direction:row !important; align-items:center; padding-top:25px; }
.check-label input { width:auto; }
.large-dialog { width:min(760px,calc(100% - 30px)); max-height:92vh; }
.large-dialog .modal-card { max-height:92vh; overflow:auto; }
.form-section { padding:13px 14px; border-radius:11px; background:#f7f5fb; }
.form-section b { display:block; margin-bottom:3px; font-size:12px; }
.form-section small { color:var(--muted); font-size:10px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.catalog-card { display:flex; flex-direction:column; min-height:265px; padding:19px; background:#fff; border:1px solid var(--line); border-radius:17px; transition:.2s; }
.catalog-card:hover { transform:translateY(-2px); border-color:#d8d1ff; box-shadow:0 14px 35px rgba(35,25,65,.07); }
.catalog-top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.catalog-top span { color:var(--violet); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.catalog-top i { padding:4px 7px; border-radius:99px; background:#f2f0f5; color:#77717e; font-size:9px; font-style:normal; font-weight:800; }
.catalog-card h3 { margin:16px 0 9px; font-size:15px; line-height:1.35; }
.catalog-card>strong { color:#0b8a57; font-size:14px; line-height:1.45; }
.catalog-card>p { flex:1; margin:13px 0 18px; color:var(--muted); font-size:11px; line-height:1.55; }
.catalog-card .btn { width:100%; }
.close-link { display:grid; place-items:center; }
.discount-total { display:flex; align-items:center; justify-content:space-between; padding:15px; border-radius:12px; background:#f0edff; color:#5038b2; }
.discount-total span { font-size:11px; font-weight:800; }
.discount-total strong { font-size:22px; }
.settings-note { display:flex; flex-direction:column; gap:4px; margin-bottom:16px; padding:16px 18px; border:1px solid #ded8fa; border-radius:14px; background:#f6f3ff; }
.settings-note strong { font-size:13px; color:#533bb9; }
.settings-note span { color:var(--muted); font-size:11px; }
.monitor-warnings { display:grid; gap:8px; margin:16px 0; }
.monitor-warning,.monitor-ok { padding:12px 14px; border-radius:11px; font-size:12px; font-weight:750; }
.monitor-warning { color:#9a570c; background:#fff5df; border:1px solid #f2dfb3; }
.monitor-ok { color:#087b4a; background:#e9f8f1; border:1px solid #caeedc; }
.health-dot { display:inline-block; width:8px; height:8px; margin-right:9px; border-radius:50%; background:#aaa; }
.health-dot.online { background:#18a96b; box-shadow:0 0 0 4px #18a96b18; }
.health-dot.offline,.health-dot.errored,.health-dot.error { background:#d64d5d; box-shadow:0 0 0 4px #d64d5d18; }
.tag.online { background:#e9f8f1; color:#087b4a; }
.tag.offline,.tag.errored,.tag.error,.tag.cancelled { background:#fff0f1; color:#b43d4a; }
@media(max-width:900px){.customer-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.customer-info-grid{grid-template-columns:1fr}.customer-info-grid .wide{grid-column:auto}}

.finance-card {
  min-height: 116px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  position: relative;
  overflow: hidden;
}

.finance-card::after {
  content: "";
  position: absolute;
  width: 90px;
  height: 90px;
  right: -25px;
  bottom: -35px;
  border-radius: 50%;
  background: currentColor;
  opacity: .08;
}

.finance-card span { color: var(--muted); font-size: 12px; font-weight: 700; }
.finance-card strong { display: block; margin-top: 18px; font-size: 28px; letter-spacing: -.04em; }
.finance-card.positive { color: var(--green); }
.finance-card.negative { color: var(--red); }
.finance-card.neutral { color: var(--violet); }
.actions.no-margin { margin-top: 0; justify-content: flex-end; }
.nav-section { margin: 25px 14px 5px; color: #65616e; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.nav-section.first { margin-top: 0; }
.sidebar-foot>.nav-item { margin-top: 10px; }
.security-badge { color: #087b4a; background: #e9f8f1; border: 1px solid #caeedc; border-radius: 99px; padding: 8px 12px; font-size: 11px; font-weight: 800; }
.module-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.module-card { display: flex; align-items: center; gap: 17px; min-height: 150px; padding: 22px; background: #fff; border: 1px solid var(--line); border-radius: 18px; transition: .2s; }
.module-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); border-color: #d8d1ff; }
.module-card>i { margin-left: auto; font-size: 23px; color: #aaa; font-style: normal; }
.module-icon { flex: 0 0 52px; height: 52px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(135deg,var(--violet),#ad71ff); font-size: 20px; font-weight: 900; }
.module-card.crm .module-icon { background: linear-gradient(135deg,#1ca36a,#58d199); }
.module-card.accounting .module-icon { background: linear-gradient(135deg,#e59a25,#ffc85f); }
.module-card.calendar .module-icon { background: linear-gradient(135deg,#3974e8,#67a3ff); }
.module-card.services .module-icon { background: linear-gradient(135deg,#6952d8,#a57af2); }
.module-card.server .module-icon { background: linear-gradient(135deg,#20232b,#59606f); }
.module-card h2 { margin: 0 0 7px; font-size: 19px; }
.module-card p { margin: 0 0 16px; color: var(--muted); font-size: 13px; }
.module-card strong { font-size: 12px; color: #5d5863; }
.activity-list { margin: 0; padding: 0; list-style: none; background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.activity-list li { display: flex; justify-content: space-between; padding: 14px 17px; border-bottom: 1px solid var(--line); font-size: 13px; text-transform: capitalize; }
.activity-list li:last-child { border: 0; }
.activity-list small { color: var(--muted); }
.workspace-head { padding: 4px 0 2px; }
.workspace-summary { margin-bottom: 22px; }
.workspace-columns { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr); gap:18px; }
.workspace-panel { background:#fff; border:1px solid var(--line); border-radius:18px; padding:21px; min-width:0; }
.workspace-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:15px; }
.workspace-panel-head h2 { margin:0; font-size:19px; }
.workspace-panel-head>a { color:var(--violet); font-size:12px; font-weight:800; }
.focus-list { display:flex; flex-direction:column; }
.focus-row { display:grid; grid-template-columns:86px 74px minmax(0,1fr) 18px; align-items:center; gap:10px; padding:12px 3px; border-top:1px solid var(--line); }
.focus-row:first-child { border-top:0; }
.focus-row time { color:var(--muted); font-size:11px; font-weight:700; }
.focus-row div { min-width:0; }
.focus-row b,.focus-row small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.focus-row b { font-size:13px; }
.focus-row small { color:var(--muted); font-size:11px; margin-top:3px; }
.focus-row>i { color:#aaa; font-style:normal; }
.focus-kind { padding:5px 7px; border-radius:99px; text-align:center; font-size:9px; font-weight:900; }
.focus-kind.income { background:#e9f8f1; color:#087b4a; }
.focus-kind.expense { background:#fff0f1; color:#b43d4a; }
.focus-kind.follow { background:#eeebff; color:#5c42c0; }
.workspace-empty { padding:35px 8px; color:var(--muted); text-align:center; font-size:13px; }
.funnel-list { display:flex; flex-direction:column; gap:13px; }
.funnel-row { display:grid; grid-template-columns:105px 1fr 30px; align-items:center; gap:10px; }
.funnel-row span,.funnel-row b { font-size:11px; }
.funnel-row b { text-align:right; }
.funnel-row progress { width:100%; height:8px; border:0; border-radius:99px; overflow:hidden; accent-color:var(--violet); }
.funnel-row progress::-webkit-progress-bar { background:#efedf3; border-radius:99px; }
.funnel-row progress::-webkit-progress-value { background:linear-gradient(90deg,var(--violet),#a87cff); border-radius:99px; }
.system-status { margin-top:22px; padding-top:18px; border-top:1px solid var(--line); }
.system-line { display:flex; align-items:center; gap:10px; padding:9px 0; }
.system-line div { flex:1; }
.system-line b,.system-line small { display:block; }
.system-line b { font-size:12px; }
.system-line small { color:var(--muted); font-size:10px; margin-top:2px; }
.system-line>span { color:#aaa; }
.workspace-modules { grid-template-columns:repeat(4,minmax(0,1fr)); }
.workspace-modules .module-card { min-height:132px; padding:18px; }
.workspace-modules .module-card p { min-height:31px; }
.gantt-wrap { overflow:auto; background:#fff; border:1px solid var(--line); border-radius:17px; }
.gantt-table { min-width:1180px; table-layout:fixed; }
.gantt-table th,.gantt-table td { padding:8px 4px; text-align:center; border-right:1px solid #f0eef3; }
.gantt-table thead th { width:42px; font-size:9px; }
.gantt-table thead th:first-child,.gantt-table tbody th { position:sticky; left:0; z-index:2; width:230px; min-width:230px; text-align:left; padding-left:14px; background:#fff; }
.gantt-table thead th:first-child { z-index:3; background:#faf9fb; }
.gantt-table th small { display:block; color:var(--muted); font-size:8px; margin-top:3px; }
.gantt-table .today { background:#f3f0ff; }
.gantt-cell { height:43px; }
.gantt-cell i { display:block; height:12px; border-radius:3px; background:transparent; }
.gantt-cell.active i { background:#8a72f3; }
.gantt-cell.active.low i { background:#9aa1ae; }
.gantt-cell.active.high i { background:#e39b28; }
.gantt-cell.active.critical i { background:#d64d5d; }
.priority { display:inline-block; padding:5px 8px; border-radius:99px; background:#f1eff5; color:#625d6a; font-size:9px; font-weight:900; }
.priority.high { background:#fff6df; color:#90630d; }
.priority.critical { background:#fff0f1; color:#b43d4a; }
.priority.low { background:#f0f2f5; color:#6b7280; }
.note-composer { margin:0 0 22px; padding:22px 24px 18px; border:1px solid #eadfba; border-radius:16px; background:repeating-linear-gradient(#fffdf4 0,#fffdf4 35px,#e9e3cf 36px); box-shadow:0 12px 32px rgba(95,73,20,.06); }
.note-composer form { display:flex; flex-direction:column; gap:17px; }
.note-lines input,.note-lines textarea { width:100%; border:0; outline:0; background:transparent; color:var(--ink); }
.note-lines input { height:36px; font-size:21px; font-weight:800; letter-spacing:-.025em; }
.note-lines textarea { min-height:72px; padding-top:6px; resize:vertical; font-size:13px; line-height:36px; }
.note-options { display:grid; grid-template-columns:repeat(5,minmax(110px,1fr)) auto; align-items:end; gap:9px; padding-top:4px; }
.note-options label { display:flex; flex-direction:column; gap:5px; color:#77705e; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }
.note-options input,.note-options select { min-width:0; width:100%; padding:8px 9px; border:1px solid #e2d8b8; border-radius:8px; background:#fffef9; font-size:11px; }
.todo-board { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; align-items:start; }
.todo-column { min-width:0; padding:14px; border:1px solid var(--line); border-radius:16px; background:#efedf1; }
.todo-column>header { display:flex; align-items:center; justify-content:space-between; padding:1px 3px 12px; }
.todo-column>header h2 { margin:0; font-size:13px; }
.todo-column>header span { display:grid; place-items:center; min-width:23px; height:23px; border-radius:99px; background:#fff; color:#6e6873; font-size:10px; font-weight:900; }
.todo-column>div { display:flex; flex-direction:column; gap:10px; }
.todo-note { position:relative; padding:16px; overflow:hidden; border:1px solid #eadfba; border-radius:12px 12px 12px 4px; background:#fffdf4; box-shadow:0 5px 15px rgba(69,56,26,.06); }
.todo-note:before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#8a72f3; }
.todo-note.low:before { background:#9aa1ae; }.todo-note.high:before { background:#e39b28; }.todo-note.critical:before { background:#d64d5d; }
.todo-note.completed { opacity:.64; }
.todo-note.completed h3 { text-decoration:line-through; }
.todo-note-top { display:flex; justify-content:space-between; gap:8px; color:#8f856c; font-size:9px; font-weight:850; text-transform:uppercase; }
.todo-note-top time.late { color:var(--red); }
.todo-note h3 { margin:12px 0 6px; font-size:15px; line-height:1.35; }
.todo-note p { margin:0 0 10px; color:#6d675b; font-size:11px; line-height:1.5; }
.todo-note>small { display:block; color:#9b927d; font-size:9px; margin-bottom:11px; }
.todo-note form { margin-top:12px; border-top:1px dashed #ded3b2; padding-top:10px; }
.todo-note button { border:0; padding:0; background:transparent; color:#6246d3; font-size:10px; font-weight:900; cursor:pointer; }
.todo-empty { margin:0; padding:24px 8px; color:#99939d; text-align:center; font-size:11px; }
.auto-task-list { overflow:hidden; border:1px solid var(--line); border-radius:15px; background:#fff; }
.auto-task { display:grid; grid-template-columns:92px 72px minmax(0,1fr) 20px; align-items:center; gap:10px; padding:12px 15px; border-bottom:1px solid var(--line); }
.auto-task:last-child { border:0; }
.auto-task time { color:var(--muted); font-size:10px; font-weight:800; }.auto-task time.late { color:var(--red); }
.auto-task b,.auto-task small { display:block; }.auto-task b { font-size:12px; }.auto-task small { color:var(--muted); font-size:10px; margin-top:3px; }
.auto-task>i { color:#aaa; font-style:normal; }
.gantt-details { margin-top:28px; border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; }
.gantt-details summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; cursor:pointer; list-style:none; }
.gantt-details summary::-webkit-details-marker { display:none; }
.gantt-details summary b,.gantt-details summary small { display:block; }.gantt-details summary b { font-size:14px; }.gantt-details summary small { color:var(--muted); font-size:10px; margin-top:4px; }
.gantt-details summary>i { color:var(--violet); font-size:11px; font-style:normal; font-weight:850; }
.gantt-details[open] summary { border-bottom:1px solid var(--line); }
.gantt-details .gantt-wrap { border:0; border-radius:0; }
.template-preview { display:flex; gap:6px; margin:18px 0 4px; overflow:auto; }.template-preview span { padding:7px 9px; border-radius:99px; color:#5d42c9; background:#f0edff; font-size:9px; font-weight:850; white-space:nowrap; }.template-preview span+span:before { content:"→"; margin-right:8px; color:#aaa; }
.control-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(290px,.7fr); gap:18px; }
.control-checks { display:flex; flex-direction:column; gap:9px; }.control-check { display:grid; grid-template-columns:30px 1fr 14px; align-items:center; gap:10px; padding:13px; border:1px solid var(--line); border-radius:12px; background:#fff; }.control-check>span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:#fff; background:#e2a334; font-weight:900; }.control-check.ok>span { background:#18a96b; }.control-check b,.control-check small { display:block; }.control-check b { font-size:11px; }.control-check small { margin-top:3px; color:var(--muted); font-size:9px; }.control-check>i { color:#aaa; font-style:normal; }
.calendar-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.agenda { display: flex; flex-direction: column; gap: 10px; }
.agenda .empty { padding: 35px 18px; }
.agenda-item { display: grid; grid-template-columns: 112px 1fr; gap: 15px; padding: 16px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.agenda-item.google { border-left: 4px solid #4285f4; }
.agenda-item time { font-size: 12px; font-weight: 800; color: #5f5b65; }
.agenda-item span { color: var(--violet); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.agenda-item h3 { margin: 4px 0; font-size: 14px; }
.agenda-item p { margin: 0; color: var(--muted); font-size: 11px; }
.notice { margin: -10px 0 20px; padding: 12px 14px; border-radius: 11px; background: #eeebff; color: #5c42c0; font-size: 12px; font-weight: 700; }
.pill.connected { background: #e9f8f1; color: #087b4a; }

.status-dot {
  width: 8px;
  height: 8px;
  display: inline-block;
  margin-right: 8px;
  border-radius: 50%;
  background: #e3a526;
}
.status-dot.late { background: var(--red); box-shadow: 0 0 0 4px #d64d5d18; }

.tag {
  display: inline-block;
  border-radius: 99px;
  padding: 5px 8px;
  background: #f1eff5;
  color: #625d6a;
  font-size: 10px;
  font-weight: 800;
  text-transform: capitalize;
}
.tag.income,.tag.paid,.tag.active { background: #e9f8f1; color: #087b4a; }
.tag.expense { background: #fff0f1; color: #b43d4a; }
.tag.planned,.tag.sent,.tag.draft { background: #fff6df; color: #90630d; }
.btn.action-income { background: #f0edff; color: #5c3fd1; border-color: #dcd4ff; }
.btn.action-expense { background: #fff8e7; color: #8a5c08; border-color: #f0dfb4; }
.expense-pill { background: #fff3df; color: #91600a; }

label select,label textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 10px 12px;
  background: #fff;
  outline: none;
  font: inherit;
}
label textarea { min-height: 90px; resize: vertical; }
label select:focus,label textarea:focus { border-color: #9e87ff; box-shadow: 0 0 0 3px #7f62ff19; }

@media (max-width: 1050px) {
  .finance-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-stats.customer-cari { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calendar-columns { grid-template-columns: 1fr; }
  .report-grid { grid-template-columns:1fr; }
  .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workspace-columns { grid-template-columns:1fr; }
  .workspace-modules { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .note-options { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .control-layout { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .finance-stats { grid-template-columns: 1fr 1fr; }
  .finance-card { min-height: 100px; padding: 16px; }
  .finance-card strong { font-size: 21px; }
  .actions.no-margin { justify-content: flex-start; }
  .module-grid { grid-template-columns: 1fr; }
  .customer-hero { flex-direction:column; }
  .report-card { min-height:0; padding:16px; }
  .catalog-grid { grid-template-columns:1fr; }
  .todo-board { grid-template-columns:1fr; }
  .note-options { grid-template-columns:1fr 1fr; }
  .auto-task { grid-template-columns:75px 65px minmax(0,1fr) 16px; padding:11px; }
  .search-results { grid-template-columns:1fr; }
  .sidebar { position:sticky; top:0; z-index:20; padding-bottom:10px; box-shadow:0 10px 30px rgba(0,0,0,.15); }
  .sidebar .global-search-trigger { width:auto; margin:12px 4px 0; }
  .sidebar nav { padding-bottom:2px; }
  .sidebar .nav-section { display:none; }
  .ops-navigation { margin-top:0; }
  .ops-primary { width:100%; }
  .ops-primary a { flex:1; text-align:center; padding:9px 11px; }
  .topbar .actions.no-margin { width:100%; }
  .topbar .actions.no-margin>* { flex:1; }
}
@media (max-width: 480px) {
  .finance-stats,.finance-stats.customer-cari { grid-template-columns: 1fr; }
}

/* Mobile-first quick expense capture */
.quick-expense-layout { display:grid; grid-template-columns:minmax(360px,560px) minmax(360px,1fr); gap:22px; align-items:start; }
.quick-expense-card,.quick-history { background:#fff; border:1px solid var(--line); border-radius:22px; padding:24px; box-shadow:0 12px 34px rgba(28,20,54,.05); }
.quick-amount { display:block; color:#625e67; font-size:12px; font-weight:800; }
.quick-amount>span { display:block; margin-bottom:8px; }
.quick-amount>div { display:grid; grid-template-columns:1fr 92px; border:2px solid #dcd7ec; border-radius:16px; overflow:hidden; transition:.2s; }
.quick-amount>div:focus-within { border-color:var(--violet); box-shadow:0 0 0 4px #6c4dff16; }
.quick-amount input { min-width:0; border:0; padding:16px 18px; font-size:32px; font-weight:800; outline:0; }
.quick-amount select { border:0; border-left:1px solid var(--line); background:#faf9fc; padding:0 12px; font-weight:800; outline:0; }
.quick-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0; }
.quick-fields label { display:flex; flex-direction:column; gap:7px; color:#625e67; font-size:12px; font-weight:700; }
.quick-fields label:first-child { grid-column:1/-1; }
.quick-fields label small { font-weight:500; color:#999; }
.quick-fields input,.quick-fields select { width:100%; border:1px solid var(--line); border-radius:11px; background:#fff; padding:12px; outline:0; }
.quick-fields input:focus,.quick-fields select:focus { border-color:#9e87ff; box-shadow:0 0 0 3px #7f62ff19; }
.receipt-drop { position:relative; display:flex; min-height:154px; border:2px dashed #d7d1e8; border-radius:16px; background:#faf9fd; align-items:center; justify-content:center; flex-direction:column; gap:5px; text-align:center; padding:18px; cursor:pointer; overflow:hidden; }
.receipt-drop:hover,.receipt-drop.has-file { border-color:#8e73ff; background:#f6f2ff; }
.receipt-drop input { position:absolute; inset:0; opacity:0; cursor:pointer; z-index:2; }
.receipt-drop .receipt-icon { font-size:30px; color:var(--violet); }
.receipt-drop b { font-size:14px; }
.receipt-drop small { color:var(--muted); font-size:11px; }
.receipt-drop img { display:block; max-width:100%; max-height:180px; margin-top:8px; border-radius:10px; object-fit:contain; }
.receipt-drop img:not([src]) { display:none; }
.quick-submit { width:100%; margin-top:16px; padding:15px; font-size:15px; border-radius:13px; }
.quick-security { text-align:center; color:#87838d; font-size:11px; line-height:1.45; margin:12px 0 0; }
.quick-success { display:flex; align-items:center; gap:12px; background:#eaf9f2; color:#087b4a; border:1px solid #cceedd; border-radius:14px; padding:13px 16px; margin:0 0 18px; }
.quick-success span { font-size:12px; color:#477160; }
.quick-history .section-head { margin:0 0 12px; align-items:center; }
.quick-history-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; padding:15px 2px; border-bottom:1px solid #efedf1; }
.quick-history-row:last-child { border-bottom:0; }
.quick-history-row b,.quick-history-row span { display:block; }
.quick-history-row b { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.quick-history-row span { color:var(--muted); font-size:11px; margin-top:4px; }
.quick-history-row strong { font-size:14px; white-space:nowrap; }
.quick-history-row a { color:var(--violet); font-size:12px; font-weight:800; }
.quick-history-row .no-receipt { margin:0; color:#aaa; white-space:nowrap; }
.drive-privacy { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:18px 0 8px; padding:17px 20px; border:1px solid #dcd7f0; border-radius:16px; background:linear-gradient(135deg,#faf8ff,#fff); }
.drive-privacy b { display:block; margin-bottom:5px; }
.drive-privacy p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.drive-privacy>span { flex:none; color:#6045d5; background:#eee9ff; border-radius:99px; padding:7px 11px; font-size:11px; font-weight:800; }
.notice.error { background:#fff0f1; color:#a52d3a; }
@media (max-width:980px) {
  .quick-expense-layout { grid-template-columns:1fr; }
  .quick-history { order:2; }
}
@media (max-width:760px) {
  .quick-expense-header { margin-bottom:18px; }
  .quick-expense-header h1 { font-size:29px; }
  .quick-expense-card,.quick-history { border-radius:18px; padding:18px; }
  .quick-fields { grid-template-columns:1fr; }
  .quick-fields label:first-child { grid-column:auto; }
  .quick-amount input { font-size:29px; padding:14px; }
  .quick-submit { position:sticky; bottom:12px; z-index:2; box-shadow:0 10px 30px rgba(17,16,22,.28); }
  .quick-history-row { grid-template-columns:minmax(0,1fr) auto; }
  .quick-history-row>a,.quick-history-row>.no-receipt { grid-column:1/-1; margin-top:-7px; }
  .ops-secondary { overflow-x:auto; scrollbar-width:none; }
  .drive-privacy { align-items:flex-start; }
}

/* Finance Plus: approvals, reconciliation, tax, closing and portal */
.compact-stats { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:760px; }
.inline-match { display:flex; gap:7px; min-width:310px; }
.inline-match select { min-width:210px; border:1px solid var(--line); border-radius:9px; padding:8px; background:#fff; }
.positive-text { color:#087b4a; font-weight:800; }
.negative-text { color:#b43d4a; font-weight:800; }
.receipt-ocr-button { width:100%; margin-top:12px; }
.ocr-feedback { min-height:18px; margin:8px 2px 0; color:#a52d3a; font-size:11px; font-weight:700; }
.ocr-feedback.ok { color:#087b4a; }
.quick-success.pending { background:#fff7e3; border-color:#f0dca5; color:#8a5c08; }
.quick-history-row { grid-template-columns:minmax(0,1fr) auto auto auto; }
.quick-history-row>.tag { margin:0; white-space:nowrap; }
.close-progress { height:11px; margin:18px 0; overflow:hidden; border-radius:99px; background:#ebe8f0; }
.close-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7658ff,#17ae72); transition:width .3s; }
.close-list { display:grid; gap:10px; max-width:850px; }
.close-item { display:flex; align-items:center; gap:14px; padding:16px 18px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.close-item button { width:29px; height:29px; flex:none; border:2px solid #cfc9dc; border-radius:9px; background:#fff; color:#fff; font-weight:900; cursor:pointer; }
.close-item b,.close-item small { display:block; }
.close-item small { margin-top:4px; color:var(--muted); }
.close-item.done { opacity:.72; }
.close-item.done button { border-color:#16a268; background:#16a268; }
.close-item.done b { text-decoration:line-through; }
.notification-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.notification-card { display:flex; min-height:155px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; flex-direction:column; color:inherit; text-decoration:none; transition:.2s; }
.notification-card:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(27,20,49,.08); }
.notification-card>span { color:#8a8492; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.notification-card b { margin-top:10px; }
.notification-card p { flex:1; margin:6px 0 12px; color:var(--muted); font-size:12px; }
.notification-card i { color:var(--violet); font-size:11px; font-style:normal; font-weight:800; }
.notification-card.critical { border-left:4px solid #d64c5a; }
.notification-card.warning { border-left:4px solid #dca52b; }
.portal-link-card,.customer-portal-action { display:flex; align-items:center; gap:18px; margin:18px 0; padding:20px; border:1px solid #dcd7f0; border-radius:17px; background:#fff; }
.portal-link-card { max-width:900px; flex-wrap:wrap; }
.portal-link-card label { flex:1 1 520px; }
.portal-link-card input { width:100%; margin-top:8px; border:1px solid var(--line); border-radius:10px; padding:12px; }
.portal-link-card p { flex-basis:100%; margin:0; color:var(--muted); font-size:12px; }
.customer-portal-action { justify-content:space-between; }
.customer-portal-action b,.customer-portal-action span { display:block; }
.customer-portal-action span { margin-top:4px; color:var(--muted); font-size:12px; }
.customer-portal-shell { min-height:100vh; background:#f7f6f9; color:#17151d; padding-bottom:50px; }
.customer-portal-shell>header,.customer-portal-shell>footer,.portal-hero,.portal-sections { width:min(1120px,calc(100% - 34px)); margin-inline:auto; }
.customer-portal-shell>header { display:flex; align-items:center; justify-content:space-between; padding:24px 0; color:#77717f; font-size:12px; }
.customer-portal-shell .brand { display:flex; align-items:center; gap:10px; color:#17151d; }
.customer-portal-shell .brand-mark { display:grid; width:34px; height:34px; place-items:center; border-radius:10px; background:#6f50f5; color:#fff; font-weight:900; }
.portal-hero { padding:36px; border-radius:24px; background:linear-gradient(135deg,#17131f,#4c36a0); color:#fff; }
.portal-hero h1 { margin:5px 0; font-size:38px; }
.portal-hero p { opacity:.72; }
.portal-hero strong { display:inline-block; margin-top:18px; padding:10px 14px; border-radius:99px; background:#ffffff18; }
.portal-sections { display:grid; gap:18px; margin-top:20px; }
.portal-sections>section { padding:22px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.portal-document { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:13px 0; border-bottom:1px solid var(--line); color:inherit; text-decoration:none; }
.portal-document:last-child { border:0; }
.portal-document b,.portal-document small { display:block; }
.portal-document small { margin-top:4px; color:var(--muted); }
.portal-document>span { color:var(--violet); font-size:12px; font-weight:800; }
.customer-portal-shell>footer { padding-top:24px; color:var(--muted); text-align:center; font-size:11px; }
@media (max-width:900px) {
  .notification-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .compact-stats,.notification-grid { grid-template-columns:1fr; }
  .quick-history-row { grid-template-columns:minmax(0,1fr) auto; }
  .quick-history-row>.tag,.quick-history-row>a,.quick-history-row>.no-receipt { grid-column:auto; margin:0; }
  .inline-match { min-width:250px; flex-wrap:wrap; }
  .customer-portal-action { align-items:flex-start; flex-direction:column; }
  .portal-hero { padding:25px; }
  .portal-hero h1 { font-size:29px; }
}

/* Digital contracts */
.contract-modal { width:min(860px,calc(100vw - 30px)); }
.contract-editor { min-height:280px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; }
.contract-created { display:grid; grid-template-columns:1fr 180px auto; gap:12px; align-items:end; margin:18px 0; padding:18px; border:1px solid #bfe9d5; border-radius:17px; background:#effaf5; }
.contract-created>b,.contract-created>small { grid-column:1/-1; }
.contract-created label { display:flex; flex-direction:column; gap:6px; color:#625e67; font-size:11px; font-weight:800; }
.contract-created input { width:100%; border:1px solid #cddfd6; border-radius:9px; padding:10px; background:#fff; }
.contract-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start; margin:20px 0; }
.contract-preview,.contract-evidence { padding:25px; border:1px solid var(--line); border-radius:19px; background:#fff; }
.contract-content { color:#37323c; font-size:13px; line-height:1.75; }
.contract-content h1,.contract-content h2,.contract-content h3 { margin:24px 0 9px; color:#17151d; }
.contract-content h2 { padding-bottom:7px; border-bottom:1px solid var(--line); font-size:18px; }
.contract-content h3 { font-size:15px; }
.contract-content table { width:100%; margin:14px 0; border-collapse:collapse; }
.contract-content th,.contract-content td { padding:8px 10px; border:1px solid #ddd9e2; text-align:left; }
.contract-content ul,.contract-content ol { padding-left:22px; }
.contract-evidence dl { margin:18px 0 0; }
.contract-evidence dt { margin-top:12px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }
.contract-evidence dd { margin:4px 0 0; overflow-wrap:anywhere; font-size:12px; }
.contract-signature-image { display:block; width:100%; max-height:140px; object-fit:contain; border:1px dashed var(--line); border-radius:10px; }
.contract-public-shell { min-height:100vh; padding:0 0 50px; background:#f5f4f7; }
.contract-public-shell>header,.contract-public-shell>footer,.contract-public-shell>.notice,.contract-public-card,.contract-sign-area,.contract-signed { width:min(920px,calc(100% - 32px)); margin-inline:auto; }
.contract-public-shell>header { display:flex; align-items:center; justify-content:space-between; padding:24px 0; color:var(--muted); font-size:12px; }
.contract-public-card,.contract-sign-area { padding:34px; border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 12px 35px rgba(24,18,40,.05); }
.contract-public-card>h1 { margin:5px 0 18px; font-size:28px; }
.contract-party { display:flex; gap:7px; margin-bottom:25px; padding:14px; border-radius:12px; background:#f7f5fb; flex-direction:column; }
.contract-party span,.contract-party small { color:var(--muted); font-size:11px; }
.contract-sign-area { margin-top:18px; }
.contract-sign-area form { display:grid; gap:14px; margin-top:16px; }
.contract-sign-area label { display:grid; gap:7px; font-size:12px; font-weight:700; }
.contract-sign-area input { border:1px solid var(--line); border-radius:10px; padding:11px; }
.contract-otp { grid-template-columns:1fr auto; align-items:end; padding:14px; border-radius:13px; background:#f6f3ff; }
[data-signature-canvas] { width:100%; height:190px; border:2px dashed #cfc8dd; border-radius:13px; background:#fff; cursor:crosshair; touch-action:none; }
.contract-signed { margin-top:18px; padding:20px; border:1px solid #bce8d3; border-radius:16px; background:#eaf9f2; color:#087b4a; }
.contract-signed b,.contract-signed span { display:block; }
.contract-signed span { margin-top:5px; font-size:12px; }
.contract-public-shell>footer { padding-top:25px; color:var(--muted); text-align:center; font-size:10px; }
.contract-gate { display:grid; min-height:100vh; padding:30px; place-items:center; }
.contract-gate>.brand { position:absolute; top:25px; left:30px; }
.contract-gate>section { width:min(460px,100%); padding:34px; border:1px solid var(--line); border-radius:21px; background:#fff; box-shadow:0 15px 45px rgba(20,16,31,.08); }
.contract-gate form { display:grid; gap:14px; margin-top:22px; }
.contract-gate label { display:grid; gap:7px; font-size:12px; font-weight:800; }
.contract-gate input { border:1px solid var(--line); border-radius:10px; padding:12px; }
@media (max-width:800px) {
  .contract-detail-grid { grid-template-columns:1fr; }
  .contract-created { grid-template-columns:1fr; }
  .contract-created>b,.contract-created>small { grid-column:auto; }
  .contract-public-card,.contract-sign-area { padding:21px; }
  .contract-otp { grid-template-columns:1fr; }
}

/* Business suite: projects, support, management and security */
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.project-card { display:flex; min-height:220px; padding:20px; border:1px solid var(--line); border-radius:18px; background:#fff; flex-direction:column; box-shadow:0 7px 22px rgba(24,18,40,.035); }
.project-card>div:first-child,.project-card footer,.project-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.project-card h3 { margin:18px 0 5px; font-size:17px; }
.project-card p,.project-card small,.project-meta { color:var(--muted); font-size:11px; }
.project-progress { height:8px; margin:20px 0 8px; overflow:hidden; border-radius:99px; background:#eeebf3; }
.project-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#7658ff,#18ad71); }
.project-card footer { margin-top:auto; padding-top:17px; }
.ticket-thread,.portal-ticket-list { display:grid; gap:10px; margin:14px 0; }
.ticket-message { padding:12px 14px; border-radius:13px; background:#f5f3f8; }
.ticket-message.staff { margin-left:28px; border-left:3px solid #7658ff; background:#f3efff; }
.ticket-message.customer { margin-right:28px; border-left:3px solid #18a86d; }
.ticket-message b,.ticket-message small { display:block; font-size:10px; }
.ticket-message p { margin:6px 0; white-space:pre-wrap; font-size:12px; }
.ticket-message small { color:var(--muted); }
.portal-support-form { display:grid; grid-template-columns:2fr 1fr; gap:12px; margin-bottom:24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.portal-support-form>div,.portal-support-form .span-2 { grid-column:1/-1; }
.portal-support-form label { display:grid; gap:6px; color:#625e67; font-size:11px; font-weight:800; }
.portal-support-form input,.portal-support-form select,.portal-support-form textarea { width:100%; border:1px solid var(--line); border-radius:10px; padding:11px; background:#fff; }
.portal-support-form textarea { min-height:100px; resize:vertical; }
.portal-ticket { padding:16px; border:1px solid var(--line); border-radius:15px; background:#fcfbfd; }
.portal-ticket>header { display:flex; justify-content:space-between; gap:12px; margin-bottom:10px; }
.portal-ticket>header b,.portal-ticket>header small { display:block; }
.portal-ticket>header small { margin-top:4px; color:var(--muted); }
.portal-notice { width:min(1120px,calc(100% - 34px)); margin:16px auto 0; }
.management-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.management-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:18px; margin-top:20px; }
.report-card { padding:22px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.management-chart { display:flex; height:240px; align-items:end; gap:14px; margin-top:24px; }
.management-month { display:grid; height:100%; min-width:0; flex:1; grid-template-rows:auto 1fr auto; gap:8px; text-align:center; }
.management-month>span,.management-month>small { overflow:hidden; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.management-month>div { display:flex; align-items:end; justify-content:center; gap:4px; border-bottom:1px solid var(--line); }
.management-month i { width:min(18px,38%); min-height:2px; border-radius:5px 5px 0 0; }
.management-month i.income,.chart-legend i.income { background:#18ad71; }
.management-month i.expense,.chart-legend i.expense { background:#ff7b7b; }
.chart-legend { display:flex; gap:18px; margin-top:16px; color:var(--muted); font-size:11px; }
.chart-legend i { display:inline-block; width:9px; height:9px; margin-right:5px; border-radius:50%; }
.project-summary { display:grid; gap:10px; margin:18px 0; }
.project-summary>div { display:grid; grid-template-columns:1fr auto; padding-bottom:10px; border-bottom:1px solid var(--line); }
.project-summary small { grid-column:1/-1; margin-top:3px; color:var(--muted); }
.security-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.security-card { display:grid; gap:12px; padding:22px; border:1px solid var(--line); border-radius:18px; background:#fff; align-content:start; }
.security-card h3,.security-card p { margin:0; }
.security-card p,.security-card small { color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.security-card code { padding:12px; border-radius:9px; background:#f4f1fb; color:#5d43c9; overflow-wrap:anywhere; }
.security-card input,.security-card select { width:100%; border:1px solid var(--line); border-radius:10px; padding:11px; background:#fff; }
@media (max-width:1000px) {
  .project-grid { grid-template-columns:1fr 1fr; }
  .management-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .project-grid,.management-grid,.security-grid,.management-stats { grid-template-columns:1fr; }
  .portal-support-form { grid-template-columns:1fr; }
  .portal-support-form>* { grid-column:1 !important; }
  .management-chart { gap:7px; height:190px; }
}

/* CRM pipeline, communication and daily management */
.pipeline-board { display:grid; grid-template-columns:repeat(7,minmax(230px,1fr)); gap:12px; padding:4px 2px 18px; overflow-x:auto; }
.pipeline-column { min-height:420px; padding:12px; border:1px solid var(--line); border-radius:17px; background:#f7f5fa; transition:.18s; }
.pipeline-column.drag-over { border-color:#7658ff; background:#efebff; box-shadow:inset 0 0 0 2px #7658ff22; }
.pipeline-column>header { display:flex; justify-content:space-between; padding:5px 4px 12px; font-size:12px; }
.pipeline-column>header span { display:grid; min-width:23px; height:23px; place-items:center; border-radius:99px; background:#fff; color:var(--muted); }
.pipeline-drop { display:grid; gap:9px; min-height:355px; align-content:start; }
.pipeline-drop>p { color:#aaa4b0; font-size:10px; text-align:center; }
.pipeline-card { padding:13px; border:1px solid #e1dce8; border-radius:13px; background:#fff; cursor:grab; box-shadow:0 4px 12px rgba(28,20,48,.04); }
.pipeline-card.dragging { opacity:.45; }
.pipeline-card a { color:inherit; text-decoration:none; }
.pipeline-card b,.pipeline-card small { display:block; }
.pipeline-card small { margin-top:4px; color:var(--muted); font-size:10px; }
.pipeline-card>div { display:flex; align-items:center; justify-content:space-between; gap:6px; margin-top:12px; }
.pipeline-card strong { color:#615b68; font-size:9px; }
.lead-detail-grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr); gap:18px; align-items:start; }
.lead-detail-grid>aside { display:grid; gap:14px; }
.communication-timeline { display:grid; gap:10px; margin-top:18px; }
.communication-item { display:grid; grid-template-columns:72px 1fr; gap:12px; padding:13px 0; border-bottom:1px solid var(--line); }
.communication-item>span { align-self:start; padding:5px 7px; border-radius:7px; background:#f1edfb; color:#674bd1; font-size:9px; font-weight:900; text-align:center; text-transform:uppercase; }
.communication-item b,.communication-item small { display:block; }
.communication-item small { margin-top:5px; color:var(--muted); font-size:10px; }
.communication-form textarea { min-height:110px; border:1px solid var(--line); border-radius:10px; padding:11px; resize:vertical; }
.briefing-list { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.briefing-action { display:flex; align-items:center; justify-content:space-between; padding:18px; border:1px solid var(--line); border-radius:15px; background:#fff; color:inherit; text-decoration:none; }
.briefing-action b,.briefing-action small { display:block; }
.briefing-action small { margin-top:4px; color:var(--muted); }
.briefing-action>span { color:var(--violet); font-size:11px; font-weight:800; }
.health-score { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; font-weight:900; }
.health-score.healthy { background:#e6f8ef; color:#088153; }
.health-score.watch { background:#fff4d8; color:#946208; }
.health-score.risk { background:#fee9eb; color:#b33442; }
.payment-plan-grid { grid-template-columns:1.5fr .7fr .9fr; }
@media (max-width:800px) {
  .lead-detail-grid,.briefing-list { grid-template-columns:1fr; }
  .pipeline-board { grid-template-columns:repeat(7,260px); }
  .payment-plan-grid { grid-template-columns:1fr; }
}
/* Customer experience, privacy and mobile command center */
.mobile-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 22px}.mobile-quick-actions a{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--line,#e8e6ef);border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 24px rgba(30,24,54,.04)}.mobile-quick-actions span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f0edff;color:#6745ff;font-size:20px}.public-proposal{max-width:980px;margin:0 auto;padding:28px}.public-proposal>header,.customer-portal-shell>header{display:flex;justify-content:space-between;align-items:center}.proposal-cover{margin:32px 0;padding:48px;border-radius:28px;background:linear-gradient(135deg,#16131f,#392d70);color:#fff}.proposal-cover h1{font-size:clamp(32px,6vw,64px);max-width:750px;margin:8px 0}.proposal-cover strong{display:block;font-size:32px;margin:24px 0 8px}.proposal-cover small{color:#d8d1f3}.public-payment-plan,.proposal-note,.proposal-public-action{margin-top:24px;padding:28px;border:1px solid #e8e6ef;border-radius:20px;background:#fff}.public-payment-plan>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.public-payment-plan>div>div{padding:18px;border-radius:14px;background:#f7f5fc}.public-payment-plan b,.public-payment-plan span,.public-payment-plan small{display:block}.proposal-public-action form small{display:block;text-align:center;margin-top:10px;color:#777}.proposal-accepted{padding:18px;border-radius:14px;background:#e8f8f0;color:#07864f;text-align:center;font-weight:800}.proposal-expired{color:#a36300;text-align:center}.portal-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.portal-project,.portal-approval{padding:20px;border:1px solid #e8e6ef;border-radius:16px;background:#fff}.portal-project>div,.portal-approval>div:first-child{display:flex;justify-content:space-between;gap:12px}.portal-approval{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.portal-approval form{grid-column:1/-1}.portal-approval textarea{width:100%;min-height:80px}.portal-upload{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;padding:22px;margin-bottom:28px;border-radius:18px;background:#f7f5fc}.portal-upload>div,.portal-upload .span-2{grid-column:1/-1}.privacy-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-bottom:24px}
@media(max-width:760px){.mobile-quick-actions{grid-template-columns:repeat(2,1fr);position:relative;z-index:2}.mobile-quick-actions a{min-height:88px;flex-direction:column;justify-content:center;text-align:center;padding:12px}.proposal-cover{padding:28px 22px}.public-proposal{padding:16px}.public-payment-plan>div,.privacy-grid,.portal-upload{grid-template-columns:1fr}.portal-approval{grid-template-columns:1fr}.portal-upload>div,.portal-upload .span-2{grid-column:auto}}

/* Official Digimentra brand lockup */
.brand-lockup{display:inline-flex;align-items:center;gap:10px;min-width:0}.brand-logo{display:block;width:190px;height:auto;max-height:48px;object-fit:contain;object-position:left center}.brand-product{padding:5px 8px;border-radius:8px;background:#ede9ff;color:#6547dc;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sidebar-brand{margin:0;padding:8px 7px;border-radius:14px;background:rgba(255,255,255,.96)}.sidebar-brand .brand-logo{width:145px}.sidebar-brand .brand-product{background:#16131d;color:#a990ff}.brand-large{margin-bottom:62px}.brand-large .brand-logo{width:235px}.brand-large .brand-product{font-size:11px}.proposal-brand .brand-logo,.contract-public-shell .brand-logo,.customer-portal-shell .brand-logo,.public-proposal .brand-logo{width:170px}

/* Original login composition */
.login-art{isolation:isolate;background:#0d0c12}.login-mesh{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom right,#000,transparent 80%)}.login-art .orb.one{width:620px;height:620px;top:-320px;right:-200px;background:radial-gradient(circle,#23c979 0,#6550ff 40%,transparent 70%);filter:blur(18px);opacity:.55}.login-art .orb.two{width:520px;height:520px;left:-250px;bottom:-260px;background:radial-gradient(circle,#6145e9 0,transparent 68%);filter:blur(10px);opacity:.55}.login-brand-story{position:relative;z-index:2;width:min(620px,72%)}.login-brand-story>p{margin:0 0 24px;color:#54e3a1;font-size:11px;font-weight:900;letter-spacing:.2em}.login-brand-story h2{margin:0;color:#fff;font-size:clamp(48px,5.4vw,82px);line-height:.98;letter-spacing:-.06em}.login-brand-story h2 em{font-style:normal;color:#a890ff}.login-brand-story>span{display:block;max-width:480px;margin:28px 0 38px;color:#aaa6b3;font-size:16px;line-height:1.65}.login-flow{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.login-flow i{padding:10px 13px;border:1px solid rgba(255,255,255,.12);border-radius:99px;background:rgba(255,255,255,.06);color:#e9e7ed;font-size:12px;font-style:normal;font-weight:800}.login-flow b{color:#625c70}.login-live{display:flex;align-items:center;gap:10px;margin-top:42px;color:#85818e;font-size:12px}.login-live i{width:9px;height:9px;border-radius:50%;background:#32d68a;box-shadow:0 0 0 7px rgba(50,214,138,.12)}

/* Calm finance navigation: daily actions first, advanced tools on demand */
.ops-secondary-row{display:flex;align-items:flex-start;gap:12px}.ops-secondary{flex:1}.ops-more{position:relative;margin:6px 0 0 auto;flex:0 0 auto}.ops-more summary{list-style:none;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#716c76;font-size:11px;font-weight:850;cursor:pointer;white-space:nowrap}.ops-more summary::-webkit-details-marker{display:none}.ops-more[open] summary{color:#5d42d0;border-color:#d8d0ff;background:#f7f5ff}.ops-more>div{position:absolute;z-index:20;right:0;top:44px;display:grid;grid-template-columns:repeat(2,minmax(145px,1fr));gap:4px;width:340px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 20px 55px rgba(22,17,40,.16)}.ops-more a{padding:10px 12px;border-radius:8px;color:#69646f;font-size:11px;font-weight:750}.ops-more a:hover,.ops-more a.active{color:#5d42d0;background:#f2efff}
@media(max-width:760px){.brand-large .brand-logo{width:200px}.ops-secondary-row{display:block}.ops-secondary{padding-left:0}.ops-more{margin:7px 0 0}.ops-more summary{width:100%;justify-content:space-between}.ops-more>div{position:static;width:100%;margin-top:6px;box-shadow:none}.login-brand-story{width:82%}}
.domain-group-row td{padding:13px 18px!important;background:#f7f5ff;border-top:1px solid #e8e2ff;border-bottom:1px solid #e8e2ff}.domain-group-row td div{display:flex;align-items:center;justify-content:space-between;gap:16px}.domain-group-row td b{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#6548d8}.domain-group-row td span{font-size:12px;font-weight:700;color:#7c758b}.domain-group-row.external td{background:#f7f9fb;border-color:#e5e9ef}.domain-group-row.external td b{color:#596273}
.domain-group-row.archive td{background:#f3f3f5;border-color:#dedee3}.domain-group-row.archive td b{color:#696875}.tag.archived{background:#ececf0;color:#666573}
.sales-command-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.sales-goal-card{display:grid;grid-template-columns:240px 1fr;align-items:center;gap:28px;padding:22px 26px;margin:18px 0 8px;border:1px solid #e6e0ff;border-radius:22px;background:linear-gradient(135deg,#faf8ff,#fff)}.sales-goal-card div{display:grid;grid-template-columns:1fr auto;gap:3px 16px;align-items:end}.sales-goal-card span{grid-column:1/-1;font-size:11px;font-weight:800;letter-spacing:.09em;color:#7457e8}.sales-goal-card strong{font-size:28px}.sales-goal-card small{color:#77717f}.sales-goal-card progress,.sales-funnel-row progress{width:100%;height:10px;accent-color:#6d4aff}.sales-command-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:24px;align-items:start}.sales-command-list{display:grid;gap:10px}.sales-command-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #e8e5ed;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(33,25,55,.04)}.sales-command-main{display:flex;gap:14px;align-items:flex-start;min-width:0}.sales-command-main h3{margin:0 0 4px;font-size:16px;color:#17141d}.sales-command-main p,.sales-command-main small{display:block;margin:0;color:#76717c}.sales-command-main small{margin-top:5px;white-space:normal}.sales-rank{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:14px;background:#f0ecff;color:#6747e8;font-size:17px;font-weight:900}.sales-command-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.sales-command-actions form{margin:0}.sales-command-actions .btn{padding:9px 11px;font-size:12px}.sales-side-card{padding:20px;margin-bottom:18px;border:1px solid #e8e5ed;border-radius:20px;background:#fff}.sales-side-card .section-head{margin:0 0 12px}.ideal-lead-row{display:grid;grid-template-columns:28px 1fr 42px;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #efedf2;color:#1b1722}.ideal-lead-row>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#f0ecff;color:#6747e8;font-weight:800}.ideal-lead-row small{display:block;margin-top:3px;color:#807a87}.ideal-lead-row>strong{text-align:right;color:#6747e8;font-size:18px}.sales-funnel-row{display:grid;grid-template-columns:90px 1fr 32px;align-items:center;gap:10px;margin:11px 0;font-size:13px}.sales-funnel-row b{text-align:right}.sales-funnel-row progress{height:8px}@media(max-width:1100px){.sales-command-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sales-command-layout{grid-template-columns:1fr}.sales-command-card{align-items:flex-start;flex-direction:column}.sales-command-actions{justify-content:flex-start}}@media(max-width:680px){.sales-command-stats{grid-template-columns:1fr 1fr}.sales-goal-card{grid-template-columns:1fr;gap:12px;padding:18px}.sales-command-card{padding:14px}.sales-command-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.sales-command-actions .btn{width:100%;justify-content:center}.sales-command-main p{font-size:12px}.sales-rank{flex-basis:40px;height:40px}.sales-command-header .actions{width:100%}}
