dialog{width:min(740px,calc(100vw - 32px));max-width:none;max-height:min(92dvh,920px);padding:0;overflow:auto;border:1px solid #A8BBD0;border-radius:22px;background:#fff;box-shadow:0 28px 90px color-mix(in srgb,#102B48 30%,transparent);scrollbar-color:#A8BBD0 transparent}
dialog::backdrop{background:color-mix(in srgb,#102B48 72%,transparent);backdrop-filter:blur(6px)}
dialog>form{padding:0 32px}
dialog .dialog-heading{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:18px;margin:0 -32px;padding:23px 32px;background:#fff;border-bottom:1px solid color-mix(in srgb,#A8BBD0 42%,white)}
dialog .dialog-heading>div:first-child{flex:1;min-width:0}
dialog .dialog-heading .eyebrow{display:block;margin-bottom:6px;color:#245787;font-size:10px;font-weight:800;letter-spacing:.15em}
dialog .dialog-heading h2{margin:0;color:#102B48;font-family:Inter,Roboto,sans-serif;font-size:23px;font-weight:750;line-height:1.25;letter-spacing:-.025em}
dialog .dialog-heading .close-dialog{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border:1px solid color-mix(in srgb,#A8BBD0 55%,white);border-radius:12px;background:color-mix(in srgb,#A8BBD0 10%,white);color:#102B48;transition:background .2s,transform .2s}
dialog .dialog-heading .close-dialog:hover{background:color-mix(in srgb,#D83344 13%,white);color:#D83344;transform:rotate(90deg)}
dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
dialog .form-grid>.full{grid-column:1/-1}
dialog label{display:grid;align-content:start;gap:8px;color:#102B48;font-family:Inter,Roboto,sans-serif;font-size:12px;font-weight:700;line-height:1.35;letter-spacing:0}
dialog label[hidden]{display:none}
dialog label small{font-size:11px;line-height:1.5;color:#526981}
dialog input:not([type=radio]):not([type=hidden]),dialog select,dialog textarea{min-height:46px;border:1px solid color-mix(in srgb,#A8BBD0 63%,white);border-radius:5px;background:#fff;padding:11px 13px;color:#102B48;font-size:13px;font-weight:500;letter-spacing:0;transition:border-color .2s,box-shadow .2s,background .2s}
dialog textarea{min-height:92px;line-height:1.55;resize:vertical}
dialog input:hover,dialog select:hover,dialog textarea:hover{border-color:#A8BBD0}
dialog input:focus,dialog select:focus,dialog textarea:focus{border-color:#0C3663;outline:0;box-shadow:0 0 0 3px color-mix(in srgb,#0C3663 16%,transparent);background:#fff}
dialog input::placeholder,dialog textarea::placeholder{color:color-mix(in srgb,#526981 66%,white);font-weight:400}
dialog input:disabled,dialog select:disabled,dialog textarea:disabled{background:color-mix(in srgb,#A8BBD0 12%,white);color:#526981}
dialog .form-section-label{margin:28px 0 17px;padding:17px 0 0;border-top:1px solid color-mix(in srgb,#A8BBD0 42%,white);color:#0C3663;font-size:11px;font-weight:800;letter-spacing:.11em}
#record-dialog .form-section-label:first-of-type{margin-top:24px;border-top:0;padding-top:0}
dialog .form-hint{margin:22px 0 0;padding:13px 15px;border:1px solid color-mix(in srgb,#A8BBD0 46%,white);border-radius:11px;background:color-mix(in srgb,#A8BBD0 13%,white);color:#102B48;font-size:12px;line-height:1.5}
dialog .form-error:not(:empty){display:block;margin:18px 0 0;padding:12px 14px;border:1px solid color-mix(in srgb,#D83344 46%,white);border-radius:11px;background:color-mix(in srgb,#D83344 10%,white);color:#D83344;font-size:12px;font-weight:650}
dialog .dialog-actions{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:28px -32px 0;padding:17px 32px;border-top:1px solid color-mix(in srgb,#A8BBD0 42%,white);background:#fff;box-shadow:0 -8px 24px color-mix(in srgb,#102B48 6%,transparent)}
dialog .dialog-actions button{min-height:44px;border-radius:10px;padding:10px 18px;font-size:12px;font-weight:750}
dialog .dialog-actions .primary{background:#0C3663;color:#fff;box-shadow:0 5px 14px color-mix(in srgb,#0C3663 20%,transparent)}
dialog .dialog-actions .primary:hover{background:#102B48}
dialog .dialog-actions .secondary{background:#fff;color:#102B48;border-color:color-mix(in srgb,#A8BBD0 65%,white)}
dialog .dialog-actions .secondary:hover{background:color-mix(in srgb,#A8BBD0 13%,white)}
dialog .dialog-actions .danger{background:color-mix(in srgb,#D83344 10%,white);border-color:color-mix(in srgb,#D83344 32%,white);color:#D83344}
dialog .dialog-actions .danger:hover{background:#D83344;color:#fff}
#record-dialog .form-grid,#contact-dialog .form-grid,#user-dialog .form-grid{padding-top:23px}
#record-dialog .form-section-label+.form-grid{padding-top:0}
#company-dialog{width:min(850px,calc(100vw - 32px))}
#company-dialog .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#company-dialog .form-grid>.full{grid-column:1/-1}
#company-dialog .form-grid>.wide{grid-column:span 2}
.company-stepper{display:flex;align-items:center;gap:14px;padding:22px 0 19px;border-bottom:1px solid color-mix(in srgb,#A8BBD0 40%,white)}
.company-step-marker{display:flex;align-items:center;gap:10px;min-width:0;color:#526981}
.company-step-marker>b{width:32px;height:32px;display:grid;place-items:center;flex:none;border:1px solid #A8BBD0;border-radius:50%;background:#fff;color:#526981;font-size:12px}
.company-step-marker>span{display:grid;gap:2px;color:#102B48;font-size:12px;font-weight:750;white-space:nowrap}
.company-step-marker small{font-size:10px;font-weight:500;color:#526981}
.company-step-marker.is-active>b{border-color:#0C3663;background:#0C3663;color:#fff}
.company-step-marker.is-complete>b{border-color:#245787;background:#245787;color:#fff}
.company-step-line{width:50px;height:1px;background:#A8BBD0}
#company-dialog .company-step-indicator{margin:17px 0 20px;color:#0C3663;font-size:11px;font-weight:750}
#company-dialog .company-step{padding:4px 0 2px}
#company-dialog .company-contact-heading{margin-top:4px;padding:18px;border:1px solid color-mix(in srgb,#A8BBD0 48%,white);border-radius:12px;background:color-mix(in srgb,#A8BBD0 12%,white)}
#company-dialog .company-contact-heading strong{font-size:14px}
#company-dialog .company-contact-heading span{font-size:11px}
#contact-dialog{width:min(680px,calc(100vw - 32px))}
#user-dialog{width:min(700px,calc(100vw - 32px))}
#profile-dialog{width:min(500px,calc(100vw - 32px))}
#profile-dialog label{margin:22px 0 0}
#confirm-dialog{width:min(470px,calc(100vw - 32px));padding:0 32px}
#confirm-dialog .dialog-heading{margin:0 -32px 20px}
#confirm-dialog>p{margin:0;line-height:1.65;color:#526981}
#reset-dialog{width:min(630px,calc(100vw - 32px))}
#reset-dialog form>p:not(.form-error){color:#526981}
#reset-dialog .form-grid>label:has(input[type=radio]){display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid color-mix(in srgb,#A8BBD0 50%,white);border-radius:11px;font-size:12px;font-weight:550}
#reset-dialog input[type=radio]{width:auto;margin:2px 0 0;accent-color:#0C3663;flex:none}
@media(max-width:620px){dialog,#company-dialog,#contact-dialog,#user-dialog,#profile-dialog,#reset-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:16px}dialog>form{padding:0 18px}dialog .dialog-heading{margin:0 -18px;padding:17px 18px}dialog .dialog-heading h2{font-size:19px}dialog .form-grid,#company-dialog .form-grid{grid-template-columns:1fr;gap:15px}dialog .form-grid>.full,#company-dialog .form-grid>.full{grid-column:1}dialog .dialog-actions{margin:23px -18px 0;padding:12px 18px;flex-wrap:wrap}dialog .dialog-actions .spacer{display:none}dialog .dialog-actions button{flex:1;min-width:105px}#company-dialog .company-stepper{gap:9px}#company-dialog .company-step-line{width:20px}.company-step-marker>span{font-size:11px}.company-step-marker small{font-size:9px}#confirm-dialog{width:calc(100vw - 16px);padding:0 18px}#confirm-dialog .dialog-heading{margin:0 -18px 18px}}
@media(max-width:390px){.company-step-marker small{display:none}.company-step-marker>span{white-space:normal}dialog .dialog-actions button{min-width:0}}
@media(max-width:620px){#company-dialog .form-grid>.wide{grid-column:1}}

.user-permissions{margin:22px 0 0;padding:18px;border:1px solid var(--line);border-radius:8px;min-width:0}
.user-permissions legend{padding:0 6px;font-weight:600;color:var(--ink)}
.user-permissions p{font-size:12px;line-height:1.7;margin:0 0 14px}
.user-permissions label{display:flex;align-items:center;gap:10px;padding:8px 0;line-height:1.5;cursor:pointer}
.user-permissions input[type=checkbox]{width:18px;height:18px;flex-shrink:0;accent-color:var(--blue)}
.user-permissions label:has(input:disabled){opacity:.6}
.profile-cleanup{grid-column:1 / -1;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #edc2c7}.profile-cleanup h3{margin:0 0 8px;color:var(--red);font-size:17px}.profile-cleanup p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.profile-cleanup button{flex-shrink:0}#reset-dialog p{font-size:13px;line-height:1.7}#reset-dialog .form-grid{margin-top:22px}@media(max-width:800px){.profile-cleanup{align-items:stretch;flex-direction:column;gap:16px;padding:20px}}
#task-checklist>p{font-size:12px;line-height:1.6}
#task-items{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
#task-items li{display:flex;align-items:center;gap:10px}
#task-items .task-done{width:20px;height:20px;min-height:20px;padding:0;margin:0;flex:none;accent-color:#0C3663}
#task-items .task-text{flex:1;min-width:0}
#task-items .task-done:checked+.task-text{text-decoration:line-through;color:#526981;background:#f1f7f3}
#task-items button{flex:none}
#task-items .task-done:focus-visible{outline:2px solid #0C3663;outline-offset:3px}
@media(max-width:620px){#task-items li{flex-wrap:wrap}#task-items .task-text{width:calc(100% - 40px)}#task-items button{margin-left:30px}}
#company-name-matches{margin-top:10px;padding:12px 14px;border:1px solid #cbd7e3;border-radius:6px;background:#f5f8fb}
#company-name-match-summary{margin:0 0 8px;color:#245787;font-size:12px;line-height:1.5}
#company-name-match-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}
#company-name-match-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:9px 0;border-top:1px solid #e0e7ee;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
#company-name-match-list strong{color:#102B48}
#company-name-match-list span{color:#526981;font-size:11px}
.todo-extra-fields{border-top:1px solid var(--line);padding-top:16px}
.todo-extra-question{display:flex;align-items:center;gap:9px;font-weight:700}
.todo-extra-question input{width:18px;height:18px;accent-color:#245787}
.todo-extra-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,1.6fr) auto;align-items:end;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.todo-extra-row label{display:grid;gap:6px;min-width:0}
.todo-extra-row input,.todo-extra-row select,.todo-extra-row textarea{width:100%}
#todo-extra-add{margin-top:12px}
@media(max-width:700px){.todo-extra-row{grid-template-columns:1fr}.todo-extra-remove{justify-self:start}}
.todo-assignees{border:1px solid var(--line);border-radius:8px;padding:12px}
.todo-assignees legend{font-weight:700;padding:0 5px}
#todo-assignee-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px;margin:6px 0 10px;max-height:180px;overflow-y:auto}
#todo-assignee-list label{display:flex;align-items:center;gap:7px}
#todo-assignee-list input{width:18px;height:18px;accent-color:#245787}
