@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap";:root{--ink:#1c2b2d;--paper:#f6f4ef;--panel:#fff;--line:#e2dfd6;--moss:#2f5d52;--moss-deep:#20413a;--clay:#bd5b3b;--muted:#6b7472;--danger:#b3432f;--ok:#2f5d52;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink)}h1,h2,h3{margin:0;font-family:Fraunces,serif;font-weight:600}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--moss-deep);color:#efeae0;flex-direction:column;flex-shrink:0;width:230px;padding:24px 0;display:flex}.sidebar .brand{border-bottom:1px solid #ffffff1f;margin-bottom:12px;padding:0 24px 20px}.sidebar-logo{background:#f6f4ef;border-radius:10px;width:auto;height:40px;padding:8px 14px;display:block}.sidebar nav{flex-direction:column;gap:2px;display:flex}.sidebar nav a,.sidebar nav .navlink{color:#c9d6cd;border-left:3px solid #0000;padding:11px 24px;font-size:14px;font-weight:500;text-decoration:none}.sidebar nav a:hover{background:#ffffff0f}.sidebar nav a.active{color:#fff;border-left-color:var(--clay);background:#ffffff14}.sidebar .logout-btn{color:#efeae0;background:0 0;border:1px solid #ffffff40;border-radius:6px;margin:auto 16px 0;padding:10px;font-size:13px}.sidebar .logout-btn:hover{background:#ffffff14}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex}.topbar .who{color:var(--muted);font-size:13px}.content{flex:1;padding:28px;overflow-y:auto}.page-head{justify-content:space-between;align-items:flex-end;margin-bottom:22px;display:flex}.page-head p{color:var(--muted);margin:4px 0 0;font-size:14px}.btn{background:var(--moss);color:#fff;border:none;border-radius:6px;padding:9px 16px;font-size:13.5px;font-weight:600}.btn:hover{background:var(--moss-deep)}.btn.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.secondary:hover{background:#efeae0}.btn.danger{background:var(--danger)}.btn:disabled{opacity:.5;cursor:not-allowed}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px}.stat-card .num{font-family:Fraunces,serif;font-size:30px}.stat-card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:12.5px}table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;overflow:hidden}thead{background:#efeae0}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:12px 16px;font-size:11.5px}td{border-top:1px solid var(--line);padding:12px 16px;font-size:14px}tr:hover td{background:#faf8f3}.badge{border-radius:99px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-block}.badge.active,.badge.completed,.badge.admin{color:var(--moss-deep);background:#e2eee9}.badge.inactive,.badge.closed{color:var(--danger);background:#efe3de}.badge.ongoing,.badge.new,.badge.user{color:#8a5a22;background:#fbf2e4}.badge.upcoming,.badge.contacted{color:#4c3f8c;background:#e8e6f2}.row-actions{gap:8px;display:flex}.icon-btn{color:var(--muted);background:0 0;border:none;padding:4px 6px;font-size:13px}.icon-btn:hover{color:var(--ink)}.icon-btn.danger:hover{color:var(--danger)}.modal-overlay{z-index:50;background:#1c2b2d73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border-radius:12px;width:100%;max-width:520px;max-height:90vh;padding:28px;overflow-y:auto}.modal h3{margin-bottom:18px}.field{margin-bottom:14px}.field label{color:var(--ink);margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;padding:9px 11px;font-size:14px}.field textarea{resize:vertical;min-height:80px}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.login-page{background:var(--moss-deep);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--paper);border-radius:14px;width:100%;max-width:380px;padding:40px}.login-logo{width:auto;height:56px;margin-bottom:18px;display:block}.login-card h1{margin-bottom:4px;font-size:26px}.login-card p.sub{color:var(--muted);margin:0 0 26px;font-size:14px}.login-card form .field{margin-bottom:16px}.login-card .btn{width:100%;margin-top:6px;padding:11px;font-size:14px}.err-msg{color:var(--danger);background:#fbe7e2;border-radius:6px;margin-bottom:16px;padding:10px 12px;font-size:13px}.empty-state{text-align:center;color:var(--muted);padding:60px 20px}.loading-state{text-align:center;color:var(--muted);padding:60px 20px;font-size:14px}.thumb{object-fit:cover;background:#efeae0;border-radius:6px;width:42px;height:42px}
