:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;justify-content:flex-start;align-items:flex-start;min-width:320px;min-height:100vh;padding:28px;box-sizing:border-box}.app-layout{width:100%;max-width:1100px;display:flex;flex-direction:column;gap:.5rem}.app-nav{display:flex;gap:.5rem;align-items:center;padding:.4rem .6rem;box-sizing:border-box;width:100%}.nav-link{color:#646cff;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer}.nav-link:hover,.nav-link:focus{background-color:#646cff0f;color:#535bf2}.nav-button{appearance:none;border:none}.app-content{width:100%;box-sizing:border-box;padding:.5rem 1rem 2rem}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@media(max-width:380px){.app-nav{flex-direction:column;align-items:stretch;gap:.4rem}.nav-link{width:100%;justify-content:center;padding:.6rem}}.login-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:3.2rem 1rem 2rem;background:linear-gradient(180deg,#fafafa,#f3f0ff)}.login-form{width:100%;max-width:480px;background:#fff;border-radius:10px;box-shadow:0 6px 22px #12121214;padding:2rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.75rem}.login-form h2{margin:0 0 .75rem;text-align:center}.login-form input,.login-form button,.login-form textarea,.login-form select{width:100%;padding:.75rem .9rem;font-size:1rem;border-radius:6px;border:1px solid rgba(12,12,12,.12);box-sizing:border-box}.login-form input:disabled,.login-form button:disabled{opacity:.7}.login-form button{background:#6b46ff;color:#fff;border:none;cursor:pointer;font-weight:600;padding:.85rem}.login-form button:disabled{cursor:not-allowed}.login-form .links{text-align:center;margin-top:.5rem}@media(max-width:460px){.login-form{padding:1rem;border-radius:8px}.login-form input,.login-form button{padding:.7rem;font-size:.95rem}}.people table{width:100%;border-collapse:collapse}.people thead{background-color:#333;color:#fff}.people thead th{padding:12px;text-align:left;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}thead th:hover{background-color:#444}.people tbody tr:nth-child(odd){background-color:#fff}.people tbody tr:nth-child(2n){background-color:#e3f2fd}.people tbody td{padding:10px 12px;color:#000}.people tbody tr:hover{opacity:.8}.people .person-edit-form{display:flex;flex-direction:column;gap:.6rem;max-width:640px;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 6px 18px #0000000f}.people.update-view{padding:1rem}.person-edit-form label{display:flex;flex-direction:column;gap:.25rem}.person-edit-actions{display:flex;gap:.5rem;justify-content:flex-start;margin-top:.6rem}.next-interaction{font-weight:600}.next-interaction.overdue{color:#b00020;background-color:#b000200d;border-radius:3px;padding:2px 6px}.next-interaction.upcoming{color:#117a37;background-color:#117a370f;border-radius:3px;padding:2px 6px}.update-person-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:3.2rem 1rem 2rem;background:linear-gradient(180deg,#fafafa,#f3f0ff)}.update-person-form{width:100%;max-width:480px;background:#fff;border-radius:10px;box-shadow:0 6px 22px #12121214;padding:2rem;box-sizing:border-box;display:flex;flex-direction:column;gap:.75rem}.update-person-form h2{margin:0 0 .75rem;text-align:center}.update-person-form input,.update-person-form button,.update-person-form textarea,.update-person-form select{width:100%;padding:.75rem .9rem;font-size:1rem;border-radius:6px;border:1px solid rgba(12,12,12,.12);box-sizing:border-box}.update-person-form input:disabled,.update-person-form button:disabled{opacity:.7}.update-person-form button{background:#6b46ff;color:#fff;border:none;cursor:pointer;font-weight:600;padding:.85rem}.update-person-form button:disabled{cursor:not-allowed}.interactions table{width:100%;border-collapse:collapse}.interactions thead{background-color:#333;color:#fff}.interactions thead th{padding:12px;text-align:left;font-weight:600}.interactions thead th.sortable{cursor:pointer;transition:background-color .12s ease}.interactions thead th.sortable:hover{background-color:#ffffff0f}.interactions thead th.sortable.asc,.interactions thead th.sortable.desc{background-color:#ffffff05}.interactions tbody tr:nth-child(odd){background-color:#fff}.interactions tbody tr:nth-child(2n){background-color:#fbe3fd}.interactions tbody td{padding:10px 12px;color:#000}.update-toast{margin:.6rem 0 1rem;padding:.6rem .9rem;background:linear-gradient(90deg,#e6ffed,#f0fff4);border:1px solid #b7f0c9;color:#0a7f3a;border-radius:6px;width:fit-content}
