:root{--color-primary:#1257cc;--color-secondary:#0f172a;--color-tertiary:#4db8ff}body{background-color:#f8f9fa;font-family:Inter,sans-serif}.form-check-input:focus,.form-control:focus,.form-select:focus{border-color:#dee2e6;box-shadow:none;outline:none}.auth-page{background-color:var(--color-secondary)}.auth-card{max-width:420px;width:100%}.btn-brand{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-brand:active,.btn-brand:focus,.btn-brand:hover{background-color:#0e4ab8;border-color:#0e4ab8;color:#fff}.auth-logo{height:48px;object-fit:contain;width:48px}.sidebar{overflow-x:hidden;width:240px}.sidebar-logo{height:28px;object-fit:contain;width:28px}.sidebar-section-label{font-size:.7rem;letter-spacing:.06em}.sidebar-section-toggle{background:none;border:none;cursor:pointer;padding:0}.sidebar-section-toggle:hover{color:hsla(0,0%,100%,.75)!important}.sidebar-toggle-icon{font-size:.65rem;transition:transform .2s ease}.sidebar-section-toggle[aria-expanded=true] .sidebar-toggle-icon{transform:rotate(-180deg)}.sidebar-subsection-label{color:hsla(0,0%,100%,.2);font-size:.65rem;letter-spacing:.04em;text-transform:uppercase}.topbar{height:52px}.nav-tabs .nav-link:not(.active),.nav-tabs .nav-link:not(.active):hover{color:#212529}.tab-count-badge{background-color:var(--color-primary);color:#fff}.sidebar-avatar-wrapper{flex-shrink:0;height:32px;width:32px}.sidebar-avatar-wrapper img{height:32px;object-fit:cover;width:32px}.sidebar-avatar-icon{font-size:.75rem}.sidebar-user-email{font-size:.7rem}.sidebar-logout-icon-btn{color:hsla(0,0%,100%,.3);font-size:.8rem;line-height:1;text-decoration:none}.sidebar-logout-icon-btn:hover{color:hsla(0,0%,100%,.7)}.sidebar-nav-active{background-color:var(--color-primary)!important;color:#fff!important}.form-card{max-width:600px}.company-form-card{max-width:860px}.form-floating>.form-control,.form-floating>.form-select{height:calc(2.75rem + 2px);min-height:calc(2.75rem + 2px)}.form-floating>.form-control{padding:.6rem .75rem}.form-floating>label{font-size:.9375rem;padding:.6rem .75rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-bottom:.05rem;padding-top:1.05rem}.form-floating>textarea.form-control{height:auto;min-height:90px}.form-floating>textarea.form-control:focus,.form-floating>textarea.form-control:not(:placeholder-shown){padding-top:1.625rem}.form-floating>.form-select{padding-bottom:.05rem;padding-top:1.05rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.7) translateY(-.3rem) translateX(.15rem)}.company-logo-cell{flex-shrink:0;height:32px;width:32px}.company-logo-lg{flex-shrink:0;height:80px;width:80px}.company-detail-list{display:grid}.company-detail-row{border-bottom:1px solid #f0f0f0;display:grid;grid-template-columns:180px 1fr;padding:.6rem 1.25rem}.company-detail-row:last-child{border-bottom:none}.company-detail-row dt{color:#6c757d;font-size:.8rem;font-weight:600;letter-spacing:.03em;padding-top:.1rem;text-transform:uppercase}.company-detail-row dd{font-size:.875rem;margin:0}.dashboard-stat-card{transition:box-shadow .15s,transform .15s}.dashboard-stat-card:hover{box-shadow:0 .25rem .75rem rgba(0,0,0,.1)!important;transform:translateY(-2px)}.dashboard-stat-icon{align-items:center;display:flex;flex-shrink:0;font-size:1.25rem;height:48px;justify-content:center;width:48px}.dashboard-stat-value{font-size:1.75rem;font-weight:700;line-height:1}.dashboard-stat-label{color:#6c757d;font-size:.8rem;margin-top:.2rem}.ts-wrapper.company-search-select,.ts-wrapper.contact-search-select,.ts-wrapper.project-search-select{width:100%}.ts-wrapper.company-search-select .ts-control,.ts-wrapper.contact-search-select .ts-control,.ts-wrapper.project-search-select .ts-control{align-items:flex-end;border-color:#dee2e6;border-radius:.375rem;color:#212529;font-size:1rem;height:calc(2.75rem + 2px);min-height:calc(2.75rem + 2px);overflow:hidden;padding-bottom:.05rem;padding-left:.75rem;padding-top:1.05rem}.ts-wrapper.company-search-select .ts-control input,.ts-wrapper.contact-search-select .ts-control input,.ts-wrapper.project-search-select .ts-control input{color:#212529;font-size:1rem;height:auto;line-height:1.25;padding:0}.ts-wrapper.company-search-select.has-items:not(.focus) .ts-control input,.ts-wrapper.contact-search-select.has-items:not(.focus) .ts-control input,.ts-wrapper.project-search-select.has-items:not(.focus) .ts-control input{min-width:0;opacity:0;width:0}.ts-wrapper.company-search-select .ts-control .item,.ts-wrapper.contact-search-select .ts-control .item,.ts-wrapper.project-search-select .ts-control .item{color:#212529;font-size:1rem;line-height:1.25}.ts-wrapper.company-search-select .ts-control .clear-button,.ts-wrapper.contact-search-select .ts-control .clear-button,.ts-wrapper.project-search-select .ts-control .clear-button{margin-bottom:.1rem;margin-top:auto}.ts-wrapper.company-search-select.focus .ts-control,.ts-wrapper.contact-search-select.focus .ts-control,.ts-wrapper.project-search-select.focus .ts-control{border-color:#dee2e6;box-shadow:none}.ts-wrapper.company-search-select .ts-dropdown,.ts-wrapper.contact-search-select .ts-dropdown,.ts-wrapper.project-search-select .ts-dropdown{border-color:#dee2e6;box-shadow:0 .25rem .5rem rgba(0,0,0,.08);font-size:1rem}.ts-wrapper.ts-filter .ts-control{align-items:center;height:calc(1.5em + .75rem + 2px);min-height:calc(1.5em + .75rem + 2px);padding-bottom:.375rem;padding-top:.375rem}.ts-wrapper.ts-filter .ts-control .item,.ts-wrapper.ts-filter .ts-control input{line-height:1.5}.ts-wrapper.ts-filter .ts-control .clear-button{margin-bottom:0;margin-top:0}.ts-float{position:relative}.ts-float>label{color:rgba(33,37,41,.65);font-size:.656rem;left:13px;line-height:1;margin:0;padding:0;pointer-events:none;position:absolute;top:7px;z-index:10}.note-card{border-left:3px solid var(--color-primary)}.note-form-body{transition:background .15s}.note-form-body--dragover{background:#f0f5ff}.note-form-toolbar{background:#f8f9fa;border-bottom-left-radius:calc(var(--bs-card-border-radius) - 1px);border-bottom-right-radius:calc(var(--bs-card-border-radius) - 1px)}.note-attach-btn{align-items:center;background:none;border:none;border-radius:.375rem;color:#6c757d;cursor:pointer;display:inline-flex;font-size:.875rem;gap:.35rem;padding:.25rem .5rem;transition:background .15s,color .15s}.note-attach-btn:hover{background:#e9ecef;color:#212529}.note-editor-toolbar{border-bottom:1px solid #f0f0f0;margin-bottom:.5rem;padding-bottom:.4rem}.note-editor-btn{align-items:center;background:none;border:none;border-radius:.25rem;color:#6c757d;cursor:pointer;display:inline-flex;font-size:.8rem;height:28px;justify-content:center;transition:background .15s,color .15s;width:28px}.note-editor-btn:hover{background:#e9ecef;color:#212529}.note-editor-btn.is-active{background:#e9ecef;color:var(--color-primary)}.note-link-popover{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 .25rem .75rem rgba(0,0,0,.1);display:flex;gap:.4rem;margin-bottom:.5rem;padding:.4rem .6rem}.note-link-popover[hidden]{display:none}.note-link-popover-icon{color:#adb5bd;flex-shrink:0;font-size:.8rem}.note-link-input{background:transparent;border:none;color:#212529;flex:1;font-size:.875rem;min-width:0;outline:none}.note-link-input::placeholder{color:#adb5bd}.note-link-action-btn{align-items:center;background:none;border:none;border-radius:.25rem;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.8rem;height:26px;justify-content:center;transition:background .15s;width:26px}.note-link-confirm{color:#198754}.note-link-confirm:hover{background:#d1e7dd}.note-link-unlink{color:#dc3545}.note-link-unlink:hover{background:#f8d7da}.note-prosemirror{cursor:text;font-size:.9375rem;line-height:1.6;min-height:120px;outline:none}.note-prosemirror p{margin-bottom:.4rem}.note-prosemirror p:last-child{margin-bottom:0}.note-prosemirror a{color:var(--color-primary);text-decoration:underline}.note-content p{font-size:.9375rem;line-height:1.6;margin-bottom:.4rem}.note-content p:last-child{margin-bottom:0}.note-content a{color:var(--color-primary);text-decoration:underline}.note-attachment-chip{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;color:#495057;display:inline-flex;font-size:.8rem;gap:.35rem;max-width:260px;padding:.3rem .65rem;text-decoration:none;transition:border-color .15s}.note-attachment-chip span:first-of-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-attachment-chip.note-attachment-chip--loading{border-style:dashed;color:#adb5bd}a.note-attachment-chip:hover{border-color:#adb5bd;color:#212529}.note-attachment-remove,.note-attachment-size{color:#adb5bd;flex-shrink:0;font-size:.75rem}.note-attachment-remove{background:none;border:none;cursor:pointer;line-height:1;margin-left:.1rem;padding:0}.note-attachment-remove:hover{color:#dc3545}.drag-handle{color:#ced4da;cursor:grab;font-size:.95rem}.drag-handle:hover{color:#6c757d}.sortable-ghost{background-color:#f0f4ff;opacity:.4}.sortable-chosen{background-color:#f8f9fa}.modal-delete-icon{font-size:2.5rem}.fu-zone{border-radius:50%;cursor:pointer;flex-shrink:0;height:96px;position:relative;width:96px}.fu-zone:hover .fu-overlay{opacity:1}.fu-preview-area{align-items:center;background-color:#6c757d;border-radius:50%;color:#fff;display:flex;height:100%;justify-content:center;overflow:hidden;width:100%}.fu-img{display:block;height:100%;object-fit:cover;width:100%}.fu-initials{font-weight:600}.fu-icon,.fu-initials{font-size:1.5rem}.fu-overlay{align-items:center;background:rgba(0,0,0,.45);border-radius:50%;color:#fff;display:flex;font-size:1.2rem;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.topbar-bell-btn{color:#6c757d;font-size:1.1rem;line-height:1;text-decoration:none}.topbar-bell-btn:hover{color:#212529}.topbar-bell-badge{align-items:center;border-radius:50%!important;display:flex;font-size:.5rem;height:.9rem;justify-content:center;line-height:1;padding:0;width:.9rem}.reminder-dropdown{max-width:340px;min-width:300px}.reminder-dropdown-item{border-bottom:1px solid #f0f0f0;white-space:normal}.reminder-dropdown-item:last-of-type{border-bottom:none}.reminder-dropdown-item--due{background:#fff8f8}.reminder-dropdown-item--due:hover{background:#fff0f0}.reminder-card{border-left:3px solid #dee2e6;transition:box-shadow .15s}.reminder-card--due{border-left-color:#dc3545}.reminder-card--done{opacity:.6}.reminder-type-icon{align-items:center;border-radius:.5rem;display:flex;font-size:1.1rem;height:40px;justify-content:center;width:40px}.reminder-type-icon--sm{border-radius:.375rem;font-size:.8rem;height:28px;width:28px}.reminder-type-icon--meeting{background:#dbeafe;color:#1d4ed8}.reminder-type-icon--billing{background:#dcfce7;color:#166534}.reminder-type-icon--other{background:#f3f4f6;color:#374151}.reminder-badge--meeting{background:#dbeafe;color:#1d4ed8}.reminder-badge--billing{background:#dcfce7;color:#166534}.reminder-badge--other{background:#f3f4f6;color:#374151}.ts-wrapper.project-contacts-select{border-radius:.375rem;position:relative;z-index:1}.ts-wrapper.project-contacts-select .ts-control{align-items:center;border:1px solid #dee2e6;border-radius:.375rem;flex-wrap:wrap;gap:.25rem;line-height:1.25;min-height:calc(2.75rem + 2px);padding-bottom:.2rem;padding-left:.75rem;padding-right:.5rem;padding-top:21px!important}.ts-wrapper.project-contacts-select .ts-control input{font-size:1rem;height:auto;line-height:1.25;padding:0}.ts-wrapper.project-contacts-select.focus .ts-control{border-color:#dee2e6;box-shadow:none}.ts-wrapper.project-contacts-select .ts-control .item{align-items:center;background:var(--color-primary);border-radius:.25rem;color:#fff;display:flex;font-size:.8rem;gap:.25rem;padding:.1rem .35rem .1rem .5rem}.ts-wrapper.project-contacts-select .ts-control .item .remove{border-left:1px solid hsla(0,0%,100%,.3);color:hsla(0,0%,100%,.7);font-size:.85rem;margin-left:.1rem;padding-left:.25rem}.ts-wrapper.project-contacts-select .ts-control .item .remove:hover{color:#fff}.ts-wrapper.project-contacts-select .ts-dropdown{border:1px solid #dee2e6;border-radius:.375rem;box-shadow:0 .25rem .75rem rgba(0,0,0,.1);margin-top:.125rem}.ts-wrapper.project-contacts-select .ts-dropdown .option{font-size:.875rem;padding:.5rem .75rem}.ts-wrapper.project-contacts-select .ts-dropdown .option.active,.ts-wrapper.project-contacts-select .ts-dropdown .option:hover{background:var(--color-primary);color:#fff}.btn{letter-spacing:.01em;transition:all .2s ease}.btn-dark{background:rgba(15,23,42,.75);border:1px solid hsla(0,0%,100%,.1);box-shadow:none;color:#fff}.btn-dark:active,.btn-dark:focus-visible,.btn-dark:hover{background:rgba(15,23,42,.9);border-color:hsla(0,0%,100%,.15);box-shadow:none;color:#fff}.btn-outline-secondary{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:hsla(0,0%,100%,.55);border:1px solid rgba(108,117,125,.3);box-shadow:none;color:#495057}.btn-outline-secondary:active,.btn-outline-secondary:focus-visible,.btn-outline-secondary:hover{background:rgba(108,117,125,.12);border-color:rgba(108,117,125,.45);box-shadow:none;color:#212529}.btn-outline-danger{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:hsla(0,0%,100%,.55);border:1px solid rgba(220,53,69,.35);box-shadow:none;color:#dc3545}.btn-outline-danger:active,.btn-outline-danger:focus-visible,.btn-outline-danger:hover{background:rgba(220,53,69,.1);border-color:rgba(220,53,69,.55);box-shadow:none;color:#dc3545}.pwd-toggle-btn{background:none;border:none;color:#6c757d;cursor:pointer;line-height:1;padding:.25rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);z-index:5}.pwd-toggle-btn:hover{color:var(--color-primary)}