:root {
    --collenta-orange: #ff4500;
    --collenta-orange-soft: #fff0ea;
    --collenta-green: #183d34;
    --collenta-green-soft: #e8f2ef;
    --surface: #ffffff;
    --canvas: #f6f8f7;
    --border: #dbe4e1;
    --muted: #6f807a;
}

html, body { min-height: 100%; }
body { margin: 0; background: var(--canvas); color: var(--collenta-green); font-family: Inter, "Segoe UI", Arial, sans-serif; }
.portal-shell { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; }
.portal-sidebar { position: sticky; top: 0; height: 100vh; padding: 28px 20px; background: var(--collenta-orange); color: #fff; display: flex; flex-direction: column; }
.portal-brand { color: #fff; text-decoration: none; display: flex; align-items: center; gap: 12px; margin: 0 8px 28px; }
.portal-brand strong, .portal-brand small { display: block; }
.portal-brand small { font-size: .68rem; letter-spacing: .12em; }
.brand-bars { height: 36px; width: 38px; display: flex; align-items: end; gap: 3px; border-bottom: 2px solid #fff; padding: 0 3px 3px; }
.brand-bars i { display: block; width: 7px; border: 1px solid #fff; }
.brand-bars i:nth-child(1) { height: 15px; background: #0ca5aa; }
.brand-bars i:nth-child(2) { height: 24px; background: #f5c348; }
.brand-bars i:nth-child(3) { height: 32px; background: #61b4ae; }
.portal-nav { display: grid; gap: 6px; }
.portal-nav a { color: #fff; text-decoration: none; font-weight: 700; padding: 12px 14px; border-radius: 10px; }
.portal-nav a:hover, .portal-nav a:focus { background: rgba(255,255,255,.18); }
.portal-nav a.active{background:rgba(255,255,255,.24)}
.sidebar-user { margin-top: auto; border-top: 1px solid rgba(255,255,255,.28); padding: 18px 8px 0; display: flex; gap: 10px; align-items: center; }
.sidebar-user small { display: block; opacity: .85; }
.presence-dot { width: 10px; height: 10px; border-radius: 50%; background: #36d57d; box-shadow: 0 0 0 3px rgba(255,255,255,.22); }
.portal-content { min-width: 0; }
.portal-topbar { height: 68px; background: #fff; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; padding: 0 32px; font-weight: 800; }
.portal-main { padding: 34px; max-width: 1600px; margin: 0 auto; }
.eyebrow { color: var(--collenta-orange); letter-spacing: .14em; text-transform: uppercase; font-size: .75rem; font-weight: 900; }
.page-title { font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.3rem); margin: 6px 0 8px; }
.page-subtitle { color: var(--muted); font-size: 1.05rem; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.metric-card, .panel { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 8px 24px rgba(24,61,52,.06); }
.metric-card { padding: 22px; }
.metric-card small { color: var(--muted); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.metric-card strong { display: block; font-family: Georgia, serif; font-size: 2.4rem; margin-top: 8px; }
.panel { padding: 24px; margin-top: 20px; }
.admin-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.admin-link { border: 1px solid var(--border); border-radius: 12px; padding: 18px; text-decoration: none; color: var(--collenta-green); background: #fff; }
.admin-link:hover { border-color: var(--collenta-orange); background: var(--collenta-orange-soft); }
.auth-mode-grid { display:grid; gap:1rem; }
.auth-mode-card { display:grid; grid-template-columns:auto 1fr; column-gap:.8rem; padding:1rem; border:1px solid var(--border); border-radius:14px; cursor:pointer; background:#fff; }
.auth-mode-card input { grid-row:1 / span 2; margin-top:.35rem; }
.auth-mode-card strong { color:var(--collenta-green); font-size:1.05rem; }
.auth-mode-card span { color:var(--muted); }
.auth-mode-card:has(input:checked) { border-color:var(--collenta-orange); box-shadow:0 0 0 3px rgba(255,75,11,.12); }
.btn-primary { --bs-btn-bg: var(--collenta-green); --bs-btn-border-color: var(--collenta-green); --bs-btn-hover-bg: #0f2d26; --bs-btn-hover-border-color: #0f2d26; }
.table thead th { color: var(--muted); text-transform: uppercase; font-size: .76rem; letter-spacing: .08em; }
.timeline { display: grid; gap: 12px; border-left: 3px solid var(--collenta-green-soft); padding-left: 20px; }
.timeline-item { position: relative; padding: 14px 16px; background: #fafcfb; border: 1px solid var(--border); border-radius: 12px; }
.timeline-item::before { content: ""; position: absolute; left: -28px; top: 18px; width: 12px; height: 12px; border-radius: 50%; background: var(--collenta-orange); border: 3px solid white; }
.timeline-item small { display: block; color: var(--muted); margin-top: 2px; }.timeline-item p { margin: 8px 0 0; white-space: pre-wrap; }
.card-stack { display: grid; gap: 18px; }
.work-card { border: 1px solid var(--border); border-radius: 14px; padding: 20px; background: #fff; }
.work-card-head { display: flex; align-items: center; gap: 14px; }
.work-card-head h2 { font: 1.55rem Georgia,serif; margin: 1px 0; }.work-card-head h2 a{color:inherit;text-decoration:none}
.work-card-head small,.work-card-head span{color:var(--muted)}.status-group{margin-left:auto;display:flex;gap:7px;flex-wrap:wrap}
.org-mark{width:44px;height:44px;border:1px solid var(--border);border-radius:12px;display:grid;place-items:center;background:var(--collenta-green-soft);font-weight:900}
.status-pill{display:inline-block;padding:7px 12px;border-radius:999px;background:var(--collenta-green-soft);font-size:.8rem;font-weight:900}.status-pill.warm{background:#fff0ea;color:#ad2e00}
.followup-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.followup-meta div{padding:14px;border-radius:10px;background:#f7f9f8}.followup-meta b,.followup-meta span{display:block}.followup-meta b{text-transform:uppercase;font-size:.72rem;color:var(--muted);letter-spacing:.08em}.followup-meta span{font-size:1rem;margin-top:4px;font-weight:700}
.next-step{padding:15px 18px;border-left:4px solid var(--collenta-orange);background:#faf7f3;border-radius:8px}.next-step>*{display:block}.next-step small{text-transform:uppercase;font-weight:900;color:var(--muted)}.next-step strong{font-size:1.1rem;margin:3px 0}.next-step span{color:var(--muted)}
.empty-state{padding:36px;text-align:center;color:var(--muted);background:#fafcfb;border-radius:12px}
.meeting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.meeting-card{display:flex;gap:14px;border:1px solid var(--border);border-radius:14px;padding:18px}.meeting-card h3{font-family:Georgia,serif;margin:3px 0}.meeting-card small,.meeting-card strong{display:block}.meeting-card strong{font-size:1.3rem;color:var(--collenta-orange)}
.meeting-hero{background:#fff;border:1px solid var(--border);border-top:4px solid var(--collenta-orange);border-radius:14px;padding:20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.meeting-date{text-align:right;color:var(--muted);font-size:1.05rem}.meeting-date strong{display:block;color:var(--collenta-green);font:2rem Georgia,serif}
.prep-section{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px}.prep-section h2{font:1.55rem Georgia,serif}.prep-section h2 span{font:800 .85rem Inter,sans-serif;color:white;background:var(--collenta-orange);padding:9px;border-radius:9px;margin-right:10px}.prep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.prep-grid label,.event-form label{font-weight:900;text-transform:uppercase;font-size:.75rem;color:var(--muted)}.prep-grid textarea,.event-form input,.event-form select,.event-form textarea{display:block;width:100%;border:1px solid var(--border);border-radius:9px;padding:12px;margin-top:6px;min-height:130px;text-transform:none;color:var(--collenta-green);font-weight:500}.event-form input,.event-form select{min-height:auto}.sticky-save{position:sticky;bottom:12px;text-align:right;padding:12px;background:rgba(246,248,247,.92)}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));overflow-x:auto;border:1px solid var(--border);border-radius:15px;background:#fff}.weekday{padding:12px;text-align:center;font-weight:900;background:var(--collenta-green);color:#fff}.day-cell{min-height:150px;padding:9px;border-right:1px solid var(--border);border-top:1px solid var(--border)}.day-cell header{display:flex;justify-content:space-between}.muted-day{background:#f3f5f4;color:#9aa6a2}.mini-add{border:0;background:var(--collenta-orange);color:white;border-radius:50%;width:25px;height:25px}.calendar-item{margin-top:7px;padding:8px;border-left:3px solid #e5ae1a;background:#fff7d9;border-radius:6px;font-size:.78rem}.calendar-item small{display:block;color:var(--muted)}.event-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.event-form .span-2{grid-column:span 2}
.comparison-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.comparison-table{min-width:1250px;margin:0}.comparison-table th,.comparison-table td{min-width:220px;padding:15px}.comparison-table th:first-child{position:sticky;left:0;background:#fff;z-index:2}.comparison-table .collenta-row>*{background:var(--collenta-green-soft)}.comparison-table .feature-match{background:#eef8f3}.competitor-card h2{font-family:Georgia,serif}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.template-card pre{white-space:pre-wrap;font:inherit;background:#f7f9f8;border-radius:10px;padding:14px;max-height:300px;overflow:auto}
.work-summary{display:flex;gap:12px}.work-summary div{border:1px solid var(--collenta-orange);border-radius:12px;padding:12px 18px;background:#fff8f5}.work-summary strong,.work-summary span{display:block}.work-summary strong{font:2rem Georgia,serif;color:var(--collenta-orange)}.work-summary span{text-transform:uppercase;font-size:.72rem;font-weight:900}.worklog-list{display:grid;gap:14px}.worklog-day{display:grid;grid-template-columns:180px 1fr;background:white;border:1px solid var(--border);border-radius:15px;overflow:hidden}.worklog-date{padding:18px;border-left:4px solid var(--collenta-orange);background:#fafcfb}.worklog-date>*{display:block}.worklog-date h2{font:1.6rem Georgia,serif;text-transform:capitalize}.worklog-form{display:flex;gap:14px;align-items:end;padding:18px}.worklog-form label{font-size:.8rem;font-weight:900;text-transform:uppercase}.worklog-form input,.worklog-form textarea{display:block;width:100%;border:1px solid var(--border);border-radius:9px;padding:11px;margin-top:6px}.worklog-form textarea{min-height:90px}.worklog-form .grow{flex:1}.worklog-form>div{width:180px}.worklog-form>div small,.worklog-form>div button{display:block;width:100%;margin-top:7px}
.announcement{padding:18px 22px;border-radius:14px;background:#fff7d9;border-left:5px solid #e5ae1a;margin-top:18px}.announcement.pinned{background:var(--collenta-orange-soft);border-color:var(--collenta-orange)}.announcement h2{font:1.5rem Georgia,serif;margin:3px 0}.announcement p{margin:0}.announcement small{font-weight:900;letter-spacing:.08em}.dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.inline-edit{border:0;background:transparent;color:var(--collenta-orange);font-weight:900;padding:0 4px}
.signed-in-card{position:fixed;right:18px;bottom:18px;background:#b8241d;color:white;padding:10px 15px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:100}.signed-in-card small,.signed-in-card strong{display:block}.signed-in-card small{font-size:.65rem}.signed-in-card strong{font-size:.85rem}
.filter-tabs{display:flex;gap:8px;margin:22px 0}.filter-tabs a{text-decoration:none;color:var(--collenta-green);background:white;border:1px solid var(--border);padding:10px 16px;border-radius:999px;font-weight:800}.filter-tabs a.active,.filter-tabs a:hover{background:var(--collenta-orange);color:white;border-color:var(--collenta-orange)}
.org-cell{display:flex;align-items:center;gap:10px}.org-cell img{width:44px;height:44px;object-fit:contain;border:1px solid var(--border);border-radius:10px;background:white;padding:3px}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid article{display:flex;gap:14px;padding:20px;border-bottom:1px solid var(--border)}.contact-grid h2{font:1.35rem Georgia,serif;margin:3px 0}.contact-grid small{color:var(--muted);font-weight:900;text-transform:uppercase}.contact-grid p{line-height:1.8}
@media (max-width: 1000px) { .portal-shell { grid-template-columns: 1fr; } .portal-sidebar { position: static; height: auto; } .metric-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 800px){.meeting-grid,.prep-grid,.followup-meta,.template-grid,.dashboard-columns{grid-template-columns:1fr}.event-form{grid-template-columns:1fr}.event-form .span-2{grid-column:auto}.worklog-day{grid-template-columns:1fr}.worklog-form{display:grid}.worklog-form>div{width:auto}}
@media (max-width: 620px) { .portal-main { padding: 20px; } .metric-grid, .admin-links { grid-template-columns: 1fr; } }
