html,body,#root{height:100%;margin:0;overflow:hidden}.app-layout{grid-template:"header header"56px"sidebar main"minmax(0,1fr)/145px 1fr;height:100%;display:grid}.app-header{border-bottom:1px solid #ddd;grid-area:header;align-items:center;padding:0 1rem;display:flex}.app-header h1{margin:0;font-size:1.3rem}.app-header-user{align-items:center;gap:.75rem;margin-left:auto;display:flex}.app-header-username{color:#666}.app-sidebar{background:#fff;border-right:1px solid #ddd;grid-area:sidebar;padding:1rem}.sidebar-title{color:#666;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1rem;font-size:.85rem;font-weight:700}.sidebar-nav{flex-direction:column;gap:.5rem;display:flex}.sidebar-button{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:.75rem .9rem;font-size:1rem}.sidebar-button:hover{background:#eee}.sidebar-button.active{color:#fff;background:#222}.app-main{background:#fafafa;grid-area:main;min-height:0;padding:1.5rem;overflow:hidden}.contacts-page{box-sizing:border-box;flex-direction:column;width:100%;max-width:90rem;height:100%;padding-left:1.5rem;display:flex}.contacts-header{justify-content:space-between;align-items:center;margin-bottom:.1rem;padding-right:1rem;display:flex}.contacts-filter-panel{margin-top:.4rem}.contacts-controls button,.add-contact-button{font:inherit;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;padding:.35rem .75rem}.contacts-controls button:hover,.add-contact-button:hover{background:#f2f2f2}.contacts-table{table-layout:fixed;border-collapse:collapse;width:100%}.col-name{width:28%}.col-stage{width:10%}.col-type{width:13%}.col-region{width:20%}.col-location{width:17%}.col-status{width:12%}.contacts-table th{text-align:left;border-bottom:2px solid #ddd;padding:.75rem 0}.contacts-table td{border-bottom:1px solid #eee;padding:.75rem 0}.contacts-controls button.active-filter{color:#fff;background:#222;border-color:#222}.filter-bar{align-items:center;gap:2rem;margin-bottom:1rem;display:flex}.contacts-controls{gap:.5rem;margin-bottom:0;display:flex}.filter-group{border:1px solid #ddd;border-radius:8px;padding:.75rem 1rem}.filter-group legend{padding:0 .25rem;font-weight:700}.type-filter-group{align-items:center;gap:.75rem;display:flex}.type-filter-group label{white-space:nowrap;align-items:center;gap:.25rem;display:flex}.region-filter-group{grid-template-columns:repeat(auto-fit,minmax(150px,max-content));gap:.5rem 1rem;margin-bottom:1.5rem;display:grid}.region-filter-group label{align-items:center;gap:.25rem;display:flex}.status-filter-group{margin-bottom:1rem}.status-filter-section+.status-filter-section{margin-top:.65rem}.status-filter-section{align-items:flex-start;gap:1rem;display:flex}.status-filter-heading{min-width:5rem;font-weight:600}.status-filter-options{flex-wrap:wrap;gap:.5rem 1rem;display:flex}.status-filter-group label{white-space:nowrap;align-items:center;gap:.25rem;display:flex}.results-count{color:#666;margin-bottom:.75rem;font-size:.95rem}.contacts-data-area{flex-direction:column;flex:1;min-height:0;display:flex}.contacts-table-scroll{flex:1;min-height:0;overflow-y:auto}.contacts-table thead{z-index:1;background:#fafafa;top:0}.settings-section{max-width:900px}.settings-section label{margin-top:1rem;margin-bottom:.25rem;font-weight:600;display:block}.settings-section textarea{resize:vertical;width:100%;font-family:monospace;font-size:.8rem}.link-style-button{color:#06c;cursor:pointer;font-family:inherit;font-size:inherit;background:0 0;border:none;margin:0;padding:0;text-decoration:underline}.link-style-button:hover{color:#049}.contact-detail-section{max-width:1000px;margin-bottom:2rem}.contact-detail-section h2{border-bottom:2px solid #ddd;margin:0 0 1rem;padding-bottom:.75rem;font-size:1rem}.contact-detail-grid{grid-template-columns:140px 1fr;gap:.75rem 1.5rem;display:grid}.company-info-grid{grid-template-columns:140px minmax(0,1fr) 140px minmax(0,1fr)}@media (width<=900px){.company-info-grid{grid-template-columns:140px minmax(0,1fr)}}.contact-detail-label{color:#666;font-weight:600}.contact-history-section{flex-direction:column;flex:1;min-height:0;display:flex}.contact-history{min-height:0;overflow-y:auto}.contact-history-item{border-bottom:1px solid #eee;padding:1rem 0}.contact-history-meta{color:#666;gap:1rem;margin-bottom:.4rem;font-size:.9rem;display:flex}.contact-history-type{font-weight:400}.contact-history-data{line-height:1.4}.contact-history-header{justify-content:space-between;align-items:center;display:flex}.contact-history-header-controls{align-items:center;gap:1rem;display:flex}.contact-history-filters{gap:.25rem;display:flex}.contact-history-filters button{font:inherit;cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:.25rem .6rem}.contact-history-filters button:hover{background:#f2f2f2}.contact-history-filters button.active-filter{color:#fff;background:#222;border-color:#222}.contact-comment-editor{margin-bottom:1rem}.contact-comment-textarea{box-sizing:border-box;resize:vertical;width:100%;min-height:90px;font:inherit}.contact-comment-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.contact-save-error{border:1px solid #c00;border-radius:6px;margin:0 0 1rem;padding:.75rem 1rem}.contact-get-page .contact-detail-section{width:100%;max-width:none}.contact-get-page{padding-right:.5rem;overflow-y:auto}.contact-detail-columns{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);align-items:start;gap:2rem;display:grid}.contact-detail-columns>.contact-detail-section{width:100%;max-width:none;margin:0}@media (width<=1100px){.contact-detail-columns{grid-template-columns:1fr;gap:2rem}}.contact-get-page .contact-history-section{flex:none;margin-top:2rem}.contact-get-page .contact-history{overflow-y:visible}.contact-store-contact-section{margin-bottom:2rem}.contact-section-toggle{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #ddd;align-items:center;gap:.4rem;margin:0;padding:0 0 .75rem;font-weight:700;display:flex}.contact-section-toggle-icon{flex-shrink:0;width:.75rem}.contact-store-contact-section .contact-detail-columns{margin-top:1rem}.online-resources-list{flex-direction:column;gap:.5rem;display:flex}.online-resource-link{width:fit-content}.online-resources-edit{flex-direction:column;gap:.75rem;display:flex}.online-resource-edit-row{grid-template-columns:12rem minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.online-resource-edit-row input{box-sizing:border-box;width:100%}.online-resource-remove-button{white-space:nowrap}.contact-online-resources-header{justify-content:space-between;align-items:center;display:flex}.online-resource-add{margin-bottom:1rem}.online-resource-add-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}@media (width<=700px){.online-resource-edit-row{grid-template-columns:1fr}.online-resource-remove-button{width:fit-content}}.contact-get-page .contact-online-resources-section{margin-top:2rem}.online-resources-edit .add-contact-button{align-self:flex-start}.online-resource-edit-row input{font:inherit;font-size:1rem}
