:root { color-scheme: light; --ink:#201D17; --lime:#FFC766; --paper:#f5f3ea; --white:#fff; --muted:#727a70; --border:#DFDCD6; --danger:#9c433f; --soft:#EFE9DF; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); }
button, select, textarea { font:inherit; }
button { cursor:pointer; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:32px; background:radial-gradient(circle at 80% 10%, #F7E2BE, transparent 34%), var(--paper); }
.login-shell > .brand { position:absolute; top:28px; left:34px; }
.brand { display:flex; align-items:center; gap:10px; font-size:20px; }
.brand-mark { display:grid; place-items:center; width:36px; height:36px; border-radius:12px; background:var(--ink); color:var(--lime); font-weight:900; }
.login-card { width:min(460px, 100%); padding:42px; border-radius:28px; background:var(--white); box-shadow:0 24px 80px #201D1718; }
.login-card h1 { margin:10px 0 12px; font-size:34px; line-height:1.05; }
.login-card p { color:var(--muted); line-height:1.6; margin-bottom:28px; }
.eyebrow, .sidebar-label, .info-label { color:#716654; font-size:11px; font-weight:900; letter-spacing:1.4px; }
.primary-button, .secondary-button { min-height:44px; border:0; border-radius:13px; padding:0 18px; font-weight:850; }
.primary-button { background:var(--lime); color:var(--ink); }
.secondary-button { background:var(--white); border:1px solid var(--border); color:var(--ink); }
.status-icon { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; font-weight:900; }
.status-icon.danger { color:var(--danger); background:#f8e4df; }
.dashboard { min-height:100vh; display:grid; grid-template-columns:250px 1fr; }
.sidebar { position:sticky; top:0; height:100vh; display:flex; flex-direction:column; padding:26px 20px; background:var(--ink); color:var(--white); }
.sidebar .brand { margin-bottom:46px; }
.sidebar .brand-mark { background:var(--lime); color:var(--ink); }
.sidebar-label { color:#9da69b; margin:0 12px 10px; }
.nav-button { text-align:left; border:0; border-radius:12px; padding:12px; background:transparent; color:#CDCAC5; font-weight:750; }
.nav-button.active { background:#35312A; color:var(--lime); }
.account { margin-top:auto; padding:16px 12px 0; border-top:1px solid #403C36; display:flex; flex-direction:column; gap:5px; overflow:hidden; }
.account strong { overflow:hidden; text-overflow:ellipsis; }
.account small { color:#9da69b; text-transform:uppercase; }
.text-button { width:max-content; padding:8px 0; border:0; background:transparent; color:var(--lime); font-weight:800; }
.content { padding:34px clamp(22px, 5vw, 72px) 70px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.topbar h1 { margin:7px 0 0; font-size:34px; }
.stats { display:grid; grid-template-columns:repeat(2, minmax(150px, 220px)); gap:12px; margin:30px 0 20px; }
.stat-card { white-space:pre-line; padding:18px; border-radius:18px; background:var(--ink); color:var(--white); font-size:13px; font-weight:800; }
.stat-card::first-line { color:var(--lime); font-size:26px; }
.urgent-card { background:#763d38; }
.report-list { display:grid; gap:10px; }
.report-card { width:100%; text-align:left; padding:20px; border:1px solid var(--border); border-radius:18px; background:var(--white); transition:transform .15s, border-color .15s; }
.report-card:hover { transform:translateY(-2px); border-color:#B7B0A3; }
.report-card-top, .report-meta { display:flex; justify-content:space-between; gap:16px; color:var(--muted); font-size:12px; }
.report-card h3 { margin:16px 0 5px; font-size:18px; }
.reported-person { margin:0 0 18px; color:#423E38; font-weight:700; }
.priority { padding:5px 8px; border-radius:8px; font-size:10px; font-weight:900; text-transform:uppercase; }
.priority-low { background:#F1EEE8; }.priority-normal { background:#EDE6DA; }.priority-high { background:#f7e8c8; }.priority-urgent { background:#f6ded9; color:var(--danger); }
.empty { padding:60px 20px; text-align:center; color:var(--muted); background:var(--white); border-radius:20px; }
.detail-overlay { position:fixed; inset:0; z-index:10; display:flex; justify-content:flex-end; background:#111a; backdrop-filter:blur(4px); }
.detail-panel { width:min(680px, 100%); height:100%; overflow:auto; padding:28px; background:var(--paper); box-shadow:-20px 0 70px #0003; }
.detail-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.detail-header h2 { margin:8px 0; font-size:28px; }
.detail-header p { margin:0; color:var(--muted); }
.icon-button { width:42px; height:42px; border:0; border-radius:14px; background:var(--white); font-size:25px; }
.people-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:26px 0; }
.info-card, .detail-section { padding:18px; border:1px solid var(--border); border-radius:18px; background:var(--white); }
.info-card { display:flex; flex-direction:column; gap:6px; }
.info-card small { color:var(--muted); }
.detail-section { margin-bottom:12px; }
.detail-section h3 { margin:0 0 12px; }
.report-description { white-space:pre-wrap; line-height:1.6; color:#4A4640; }
.decision-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:18px; margin-bottom:12px; border-radius:18px; background:var(--ink); }
.decision-form label { display:grid; gap:7px; color:#E4E1DC; font-size:12px; font-weight:800; }
.decision-form .wide { grid-column:1 / -1; }
select, textarea { width:100%; border:1px solid #504B43; border-radius:12px; background:#302C24; color:var(--white); padding:12px; }
textarea { min-height:100px; resize:vertical; }
.timeline { display:grid; gap:14px; }
.timeline-item { position:relative; padding-left:20px; }
.timeline-item p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.timeline-dot { position:absolute; left:0; top:5px; width:9px; height:9px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 4px var(--soft); }
.muted { color:var(--muted); }
.analytics-sidebar-label { margin-top:28px; }
.analytics-stats { display:grid; grid-template-columns:repeat(3, minmax(150px, 1fr)); gap:12px; margin:30px 0 20px; }
.analytics-stat-card { display:flex; flex-direction:column; gap:5px; padding:20px; border-radius:18px; background:var(--ink); color:var(--white); }
.analytics-stat-card strong { color:var(--lime); font-size:30px; }
.analytics-stat-card span { color:#DAD7D2; font-size:13px; font-weight:700; }
.analytics-panel { padding:22px; margin-bottom:14px; border:1px solid var(--border); border-radius:20px; background:var(--white); }
.analytics-panel h2 { margin:0 0 20px; font-size:20px; }
.funnel-list { display:grid; gap:18px; }
.funnel-row { display:grid; grid-template-columns:minmax(180px, 280px) 1fr; align-items:center; gap:20px; }
.funnel-copy { display:flex; flex-direction:column; gap:4px; }
.funnel-copy span { color:var(--muted); font-size:12px; }
.funnel-track { height:12px; overflow:hidden; border-radius:99px; background:var(--soft); }
.funnel-fill { height:100%; border-radius:inherit; background:var(--lime); box-shadow:inset 0 0 0 1px #D8A244; }
.daily-chart { height:180px; display:flex; align-items:flex-end; gap:5px; padding-top:20px; border-bottom:1px solid var(--border); }
.daily-bar { flex:1; min-width:5px; max-width:28px; border-radius:6px 6px 0 0; background:var(--ink); transition:background .15s; }
.daily-bar:hover { background:#635D53; }
@media (max-width:760px) { .dashboard { grid-template-columns:1fr; }.sidebar { position:static; height:auto; }.sidebar .brand { margin-bottom:20px; }.account { margin-top:20px; }.content { padding:24px 16px 60px; }.people-grid, .decision-form { grid-template-columns:1fr; }.decision-form .wide { grid-column:auto; }.stats { grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .analytics-stats { grid-template-columns:1fr; }.funnel-row { grid-template-columns:1fr; gap:8px; } }
.idea-filters { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 6px; }
.chip { padding:8px 14px; border:1px solid var(--border); border-radius:99px; background:var(--white); color:var(--muted); font-size:13px; font-weight:800; }
.chip-active { background:var(--ink); border-color:var(--ink); color:var(--white); }
.idea-card { cursor:default; }
.idea-body { margin:10px 0 14px; color:var(--ink); font-size:15px; line-height:1.55; white-space:pre-wrap; }
.idea-status { background:var(--soft); color:#5c5344; }
.idea-status-new { background:var(--lime); color:var(--ink); }
.idea-status-done { background:#EFE5D5; color:#605440; }
.idea-status-declined { background:#f0e4e2; color:var(--danger); }
.idea-actions { display:flex; flex-wrap:wrap; gap:8px; }
.idea-actions .secondary-button { padding:7px 12px; font-size:12px; }
