.app-main { isolation:isolate; }
.sales-form { max-width:780px; margin-top:28px; }
.sales-facts { display:flex; flex-wrap:wrap; gap:28px 48px; padding:26px 0; margin:22px 0; border-block:1px solid var(--line); }
.sales-facts small { color:var(--muted); }
.sales-facts p { overflow-wrap:anywhere; }
.sales-notes { white-space:pre-wrap; line-height:1.7; overflow-wrap:anywhere; }
.sales-reservation { border-top:1px solid var(--line); margin-top:36px; padding-top:24px; }
.crm-info a { text-decoration:underline; font-weight:600; }
.app-main::after { z-index:-1; }
.crm-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.app-main:has(.metric-strip), .app-main:has(.lead-layout), .app-main:has(.lead-filters) { padding:50px 40px 60px; }
.page-heading h1 { font-weight:700; }
.metric-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:36px 0 28px; padding:0 0 24px; border-bottom:1px solid var(--line); }
.metric-strip a { display:grid; justify-items:center; gap:9px; padding:8px 20px 16px; color:#526172; }
.metric-strip a+a { border-left:1px solid var(--line); }
.metric-strip strong { font:700 3.5rem/1 var(--display); color:var(--navy); }
.metric-strip a:hover strong { color:var(--orange); }
.dashboard-columns { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:38px; }
.dashboard-columns>section+section { padding-left:38px; border-left:1px solid var(--line); }
.dashboard-columns h2,.upcoming h2,.lead-activity h2 { margin:0; font:700 2.15rem/1.1 var(--display); }
.section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.section-title>a,.back-link,.pagination a { color:var(--orange); }
.crm-empty { display:grid; justify-items:center; align-content:center; min-height:245px; padding:32px 12px; text-align:center; }
.crm-empty svg { width:54px; height:54px; margin-bottom:24px; fill:none; stroke:#526172; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.crm-empty h3 { margin:0; font:700 1.6rem/1.2 var(--display); }
.crm-empty p { margin:10px 0 0; color:var(--muted); line-height:1.6; }
.upcoming { margin-top:24px; border-top:1px solid var(--line); padding-top:32px; }
.upcoming .crm-empty { min-height:210px; }
.crm-table-scroll { overflow:auto; padding-bottom:160px; margin-bottom:-140px; }
.crm-table { width:100%; border-collapse:collapse; font-size:.85rem; text-align:left; }
.crm-table th { font-size:.76rem; color:var(--muted); font-weight:600; }
.crm-table th,.crm-table td { padding:18px 12px; border-bottom:1px solid var(--line); vertical-align:middle; }
.crm-table th:first-child,.crm-table td:first-child { padding-left:0; }
.crm-table td>a { font-weight:600; }
.crm-table td>a:hover { color:var(--orange); text-decoration:underline; }
.crm-table small { display:block; margin-top:5px; color:var(--muted); font-size:.75rem; overflow-wrap:anywhere; }
.lead-state { display:inline-block; padding:5px 9px; border-radius:4px; background:#e9edf0; white-space:nowrap; font-size:.76rem; }
.state-NEU { color:#a43106; background:#ffebe0; }
.state-GEWONNEN { color:#126e44; background:#e5f3e8; }
.state-VERLOREN { color:#6a6670; background:#ece9eb; }
.lead-filters { display:flex; align-items:end; gap:18px; margin:36px 0 24px; flex-wrap:wrap; }
.lead-filters label:first-child { flex:1; min-width:200px; }
.lead-filters label,.crm-form label { display:grid; gap:8px; font-size:.9rem; font-weight:600; }
.lead-filters input,.lead-filters select,.crm-form input,.crm-form textarea,.crm-form select { min-height:48px; padding:12px; width:100%; border:1px solid #c7cbd0; border-radius:6px; background:rgba(255,255,255,.85); color:var(--ink); font:400 .95rem/1.4 var(--body); }
.lead-filters>a { padding-block:14px; font-size:.85rem; }
.secondary-button { min-height:46px; padding:10px 16px; background:white; color:var(--ink); border:1px solid #a9b2bd; border-radius:6px; font:600 .88rem/1.3 var(--body); }
.secondary-button:hover { border-color:var(--orange); color:var(--orange); }
.pagination { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:32px; font-size:.85rem; }
.back-link { display:inline-block; margin-bottom:26px; font-size:.9rem; }
.lead-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr); gap:44px; margin-top:36px; }
.crm-form,.crm-form fieldset { display:grid; gap:24px; }
.crm-form fieldset { margin:0; padding:0; border:0; min-width:0; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.crm-form textarea { resize:vertical; }
.lead-activity { padding-left:32px; border-left:1px solid var(--line); }
.followup { padding:20px 0; border-bottom:1px solid var(--line); }
.followup>a { font-weight:600; }
.followup p,.followup small,.muted { color:var(--muted); line-height:1.6; }
.followup p { margin:8px 0; }
.followup+form,.lead-activity>.crm-form { margin-top:26px; }
.lead-activity .history-title { margin-top:38px; }
.status-history { list-style:none; padding:0 0 0 14px; border-left:2px solid #e1d8cf; }
.status-history li { padding:12px 0; }
.status-history small { display:block; margin-top:7px; color:var(--muted); font-size:.75rem; }
.crm-error,.crm-info { margin:24px 0; padding:14px 18px; line-height:1.5; border-left:3px solid var(--orange); background:#fff0e6; color:#773318; }
.crm-error { color:#91291e; background:#ffebe7; border-color:#b62d20; }
.user-drawer .crm-error { font-size:.85rem; }
.user-drawer label input,.user-drawer label select { font-weight:400; }
.user-drawer p { font-size:.9rem; line-height:1.6; }
.user-actions button:disabled { opacity:.45; cursor:not-allowed; }
@media(min-width:1100px) { .user-drawer { top:72px; height:calc(100svh - 72px); padding-top:46px; } .app-main:has(.user-drawer.open) { padding-right:466px; } }
@media(max-width:1100px) { .dashboard-columns,.lead-layout { grid-template-columns:1fr; } .dashboard-columns>section+section,.lead-activity { padding-left:0; border-left:0; border-top:1px solid var(--line); padding-top:28px; } .crm-heading { flex-wrap:wrap; } }
@media(max-width:680px) { .app-main:has(.metric-strip),.app-main:has(.lead-layout),.app-main:has(.lead-filters) { padding:32px 20px; } .metric-strip { gap:0; } .metric-strip a { padding:8px 6px; text-align:center; font-size:.76rem; } .metric-strip strong { font-size:2.7rem; } .crm-table { min-width:560px; } .field-grid { grid-template-columns:1fr; } .sidebar nav { display:flex; flex-wrap:wrap; } .sidebar nav .nav-link { flex:1 0 auto; } .lead-filters { align-items:stretch; } .lead-filters label { width:100%; } .app-main:has(.user-drawer.open) { padding-right:20px; } }
