*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f4f3f0;--surface: #ffffff;--surface2: #f9f8f6;--border: #e4e2dc;--border2: #d0cec7;--text: #1a1916;--text2: #5a5852;--text3: #9a9890;--accent: #1a4fd6;--accent-bg: #edf1fc;--accent-text: #1a4fd6;--success: #1a7a4a;--success-bg: #e8f5ee;--warning: #9a5f00;--warning-bg: #fef3e2;--danger: #c0392b;--danger-bg: #fdecea;--neutral: #5a5852;--neutral-bg: #f0ede8;--won: #1a7a4a;--won-bg: #e8f5ee;--lost-bg: #fdecea;--lost: #c0392b;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04)}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;min-height:100vh}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}input,textarea,select{font-family:inherit;font-size:14px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:7px 10px;color:var(--text);outline:none;transition:border-color .15s;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a4fd61a}textarea{resize:vertical;min-height:72px}button{font-family:inherit;font-size:14px;cursor:pointer;border:none;border-radius:var(--radius-sm);padding:8px 14px;transition:all .15s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--accent);color:#fff;font-weight:500}.btn-primary:hover{background:#1540b0}.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border2)}.btn-ghost:hover{background:var(--surface2);color:var(--text)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid #f5c6c3}.btn-danger:hover{background:#fbd9d7}.btn-icon{background:transparent;color:var(--text3);padding:5px;border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--surface2);color:var(--text)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.02em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14120e73;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:16px;font-weight:600}.modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.modal-footer{padding:16px 24px 20px;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end}.form-row{display:flex;gap:12px}.form-row>*{flex:1;min-width:0}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:12px;font-weight:500;color:var(--text2);letter-spacing:.02em;text-transform:uppercase}.hint-text{font-size:12px;color:var(--text3)}.error-text{font-size:12px;color:var(--danger)}.status-new{background:#e8f0fe;color:#1a4fd6}.status-contacted{background:#e8f5ee;color:#1a7a4a}.status-proposal{background:#fff3e0;color:#9a5f00}.status-followup{background:#f3e8ff;color:#6d28d9}.status-won{background:#e8f5ee;color:#155c37;border:1px solid #a3d9bc}.status-lost{background:#fdecea;color:#b91c1c}.status-onhold{background:#f0ede8;color:#5a5852}.due-overdue{background:var(--danger-bg);color:var(--danger)}.due-today{background:var(--warning-bg);color:var(--warning)}.due-upcoming{background:var(--accent-bg);color:var(--accent-text)}
