:root {
    --cee-primary: #1b6e3c;
    --cee-primary-dark: #14562f;
    --cee-sidebar-bg: #16241c;
    --cee-sidebar-hover: #22382b;
    --cee-sidebar-text: #cfe3d6;
    --cee-bg: #f4f6f5;
}

body {
    background: var(--cee-bg);
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ---------- Layout shell ---------- */
.cee-shell { display: flex; min-height: 100vh; }

.cee-sidebar {
    width: 240px;
    background: var(--cee-sidebar-bg);
    color: var(--cee-sidebar-text);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    height: 100vh;
}

.cee-brand {
    padding: 18px 20px;
    font-weight: 700;
    font-size: 1.15rem;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.08);
    display: flex;
    align-items: center;
    gap: 10px;
}

.cee-brand .dot { width: 12px; height: 12px; border-radius: 50%; background: #38c172; }

.cee-nav { list-style: none; padding: 12px 0; margin: 0; flex: 1; overflow-y: auto; }
.cee-nav a {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 20px; color: var(--cee-sidebar-text);
    text-decoration: none; font-size: .95rem;
}
.cee-nav a:hover { background: var(--cee-sidebar-hover); color: #fff; }
.cee-nav a.active { background: var(--cee-primary); color: #fff; border-left: 3px solid #7be0a0; }
.cee-nav i { width: 18px; text-align: center; }

.cee-main { flex: 1; display: flex; flex-direction: column; min-width: 0; }

.cee-header {
    background: #fff; border-bottom: 1px solid #e4e8e6;
    padding: 12px 24px; display: flex; align-items: center; justify-content: space-between;
    position: sticky; top: 0; z-index: 10;
}
.cee-header h1 { font-size: 1.15rem; margin: 0; font-weight: 600; color: #223; }
.cee-content { padding: 24px; }

/* ---------- Cards ---------- */
.stat-card {
    background: #fff; border-radius: 10px; padding: 18px 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,.06); height: 100%;
    border: 1px solid #eef1ef;
}
.stat-card .val { font-size: 1.8rem; font-weight: 700; color: #1c2b22; }
.stat-card .lbl { color: #6b7c72; font-size: .85rem; text-transform: uppercase; letter-spacing: .03em; }
.stat-card .ico { font-size: 1.3rem; opacity: .5; }

.panel { background:#fff; border:1px solid #eef1ef; border-radius:10px; box-shadow:0 1px 3px rgba(0,0,0,.05); }
.panel .panel-head { padding: 14px 18px; border-bottom: 1px solid #eef1ef; font-weight: 600; }
.panel .panel-body { padding: 16px 18px; }

/* ---------- Status badges ---------- */
.badge-status { font-weight: 600; padding: .35em .6em; border-radius: 6px; font-size: .78rem; }
.badge-status-new { background:#e1efff; color:#1366d6; }
.badge-status-assigned { background:#efe6ff; color:#7a3ff2; }
.badge-status-contacted { background:#e3f6ea; color:#1b8a4b; }
.badge-status-noanswer { background:#eceff1; color:#5b6b73; }
.badge-status-voicemail { background:#dfe3e6; color:#37474f; }
.badge-status-interested { background:#e3f6ea; color:#0f9d58; }
.badge-status-notinterested { background:#fde6e6; color:#d33; }
.badge-status-followup { background:#fff1dc; color:#c9750d; }
.badge-status-converted { background:#c8f2d6; color:#0b7a37; }
.badge-status-lost { background:#f3d6d6; color:#8a1f1f; }

.table thead th { font-size: .8rem; text-transform: uppercase; letter-spacing: .03em; color: #6b7c72; }
.table td { vertical-align: middle; font-size: .9rem; }

.btn-cee { background: var(--cee-primary); border-color: var(--cee-primary); color:#fff; }
.btn-cee:hover { background: var(--cee-primary-dark); border-color: var(--cee-primary-dark); color:#fff; }

/* ---------- Auth ---------- */
.auth-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#14562f,#1b6e3c); }
.auth-card { background:#fff; border-radius:14px; box-shadow:0 10px 40px rgba(0,0,0,.2); width:100%; max-width:400px; padding:34px; }

/* ---------- Timeline ---------- */
.timeline { list-style:none; margin:0; padding:0; position:relative; }
.timeline:before { content:''; position:absolute; left:8px; top:0; bottom:0; width:2px; background:#e4e8e6; }
.timeline li { position:relative; padding:0 0 16px 30px; }
.timeline li:before { content:''; position:absolute; left:2px; top:3px; width:14px; height:14px; border-radius:50%; background:var(--cee-primary); border:3px solid #fff; box-shadow:0 0 0 1px #e4e8e6; }
.timeline .t-meta { font-size:.78rem; color:#8a9992; }

@media (max-width: 900px) {
    .cee-sidebar { width: 64px; }
    .cee-brand span, .cee-nav a span { display:none; }
    .cee-brand { justify-content:center; }
}

/* ---------- Rates modal ---------- */
.rates-meta { background:#f8faf9; border:1px solid #e4e8e6; border-radius:8px; padding:12px 14px; }
.rates-section-title { font-weight:600; margin-bottom:10px; color:#1c2b22; }
.rates-property { background:#fff; border:1px solid #e4e8e6; border-radius:8px; padding:12px 14px; }
.rates-card { background:#fff; border:1px solid #dce8e0; border-radius:10px; padding:14px 16px; box-shadow:0 1px 3px rgba(27,110,60,.06); }
.rates-table thead th { font-size:.75rem; color:#6b7c72; }
.rates-rate { font-weight:700; color:var(--cee-primary); white-space:nowrap; }
.rates-note { margin-top:10px; padding-top:10px; border-top:1px solid #eef1ef; color:#5b6b73; }
.rates-fallback pre { background:#f8faf9; border:1px solid #e4e8e6; border-radius:8px; padding:12px; white-space:pre-wrap; }
