*{box-sizing:border-box}
.communication{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:1.5rem;align-items:start;margin:2rem 0}
.contact-editor,.chat-pane{min-width:0;border:1px solid #d1d5db;border-radius:10px;padding:1rem;background:#fff}
.communication h2{margin-top:0}
.contact-editor form{margin:0}.contact-editor label{display:flex;flex-direction:column;gap:.4rem;margin:0}
.contact-editor input:not([type=radio]):not([type=checkbox]),.contact-editor textarea{width:100%;min-width:0}
.contact-editor fieldset{margin:0;border:0;padding:0;min-width:0}.contact-editor legend{margin-bottom:.5rem;font-weight:600}
.contact-result-row{display:flex;align-items:end;gap:1.2rem;flex-wrap:wrap}
.contact-result-row>label{min-width:220px}.result-options{display:flex;gap:.5rem;flex-wrap:wrap}
.contact-editor .result-choice{display:flex;flex-direction:row;align-items:center;border:1px solid #d1d5db;border-radius:6px;padding:.5rem;cursor:pointer}
.result-choice:has(input:checked){background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}
.result-icon{font-size:1.4rem;font-weight:700;line-height:1}.result-icon.agree{color:#16803c}.result-icon.disagree{color:#c62828}
.contact-comment-row{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2fr);gap:1rem;margin:1rem 0}
.reason-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.6rem}.contact-editor .reason-choice{flex-direction:row;align-items:center}
.contact-editor textarea{height:160px;resize:vertical}
.contact-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1rem 0}
.chat-pane{background:#f7f8fa}.chat-log{display:flex;flex-direction:column;gap:.8rem;height:440px;max-height:70vh;overflow-y:auto;padding:.4rem;overflow-wrap:anywhere}
.chat-message{border:1px solid #dbe1e7;border-radius:10px;padding:.75rem;background:#fff;margin-right:1rem;flex-shrink:0}
.chat-message.own{background:#eaf5ed;margin-right:0;margin-left:1rem}.chat-message header,.chat-message footer{font-size:.8rem;color:#53616a}.chat-message strong{display:block;margin:.4rem 0}.message-text{white-space:pre-wrap}.chat-message footer{margin-top:.5rem}
@media(max-width:1000px){.communication{grid-template-columns:1fr}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body{padding:0 .65em}.contact-comment-row,.contact-fields{grid-template-columns:1fr}.contact-result-row>label{min-width:0;width:100%}}

.relation-block{border:1px solid #d1d5db;border-radius:8px;padding:1rem;margin:1rem 0}
.relation-block h2{margin-top:0}.relation-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:0}
.relation-row label{display:flex;align-items:center;gap:.5rem;margin:0}.relation-row button{white-space:nowrap}
@media(max-width:600px){.relation-row label{flex-wrap:wrap}}

body{margin:0;padding:0 1rem;line-height:1.3}p{margin:.45rem 0}.card{padding:.7rem;margin:.7rem 0}h2{margin:.7rem 0;font-size:1.25rem}
.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #d1d5db;padding:.3rem 0 .5rem;margin-bottom:.7rem}
.header-top{display:grid;grid-template-columns:104px 1fr 104px;align-items:center;min-height:46px}.header-top nav{text-align:center;font-size:.9rem}
.header-logo{position:relative;width:104px;height:46px}.header-logo svg{position:absolute;inset:0;width:104px;height:46px;overflow:visible}.header-logo img{position:absolute;left:50%;top:-2px;height:31px;width:auto;transform:translateX(-50%)}
.title-row{display:flex;align-items:center;gap:.7rem}.title-row h1{font-size:1.5rem;margin:.25rem 0}.listing-header h1{font-size:1rem;font-weight:700}.listing-summary{font-size:.875rem;line-height:1.25}.listing-summary p{margin:.25rem 0}.avito-logo{display:inline-flex;flex-shrink:0}.avito-logo svg{width:76px;height:24px}
.contact-editor,.chat-pane{padding:.7rem}.contact-comment-row{margin:.7rem 0}.contact-fields{margin:.7rem 0}.communication{margin:1rem 0;gap:1rem}.contact-editor textarea{height:125px}.chat-message{padding:.6rem}
@media(max-width:600px){.header-top{grid-template-columns:0 minmax(0,1fr) 104px}.header-logo{transform:scale(.75);transform-origin:right center}.site-header{padding-top:.15rem}.listing-summary{font-size:.75rem}.title-row{align-items:flex-start}.title-row h1{overflow-wrap:anywhere}}

.title-row .favorite-form{display:flex;flex:0 0 auto;margin:0}
.favorite-heart{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:3px;border:0;background:transparent;cursor:pointer;border-radius:6px;color:#b47783}
.favorite-heart svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.favorite-heart[aria-pressed=true]{color:#c7667b}.favorite-heart[aria-pressed=true] svg{fill:#d98294}
.favorite-heart:hover{background:#fbf1f4}.favorite-heart:focus-visible{outline:2px solid #a84c65;outline-offset:2px}
.listing-context{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin:.65rem 0;font-size:.875rem;line-height:1.25}
.listing-context>section{min-width:0;overflow-wrap:anywhere}.listing-context h2{font-size:1rem;margin:0 0 .25rem}
.listing-context p{margin:.25rem 0}.listing-context ul{margin:.25rem 0;padding-left:1.2rem}.listing-context li{margin:.15rem 0}
@media(max-width:600px){.listing-context{grid-template-columns:1fr}.title-row .favorite-form{margin-top:-.15rem}}

.favorite-message{font-size:.75rem;color:#805062;max-width:15rem}.favorite-heart:disabled{opacity:.6;cursor:wait}

.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;flex-wrap:wrap}.contact-heading h2{margin:0}
.contact-save{background:#e8dff4;border:1px solid #b8a3d6;border-radius:6px;color:#514062;white-space:nowrap}.contact-save:hover{background:#ded0ef}.contact-save:focus-visible{outline:2px solid #806299;outline-offset:2px}
.relation-block{padding:.7rem;margin:.7rem 0;border-radius:10px}.relation-existing{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.relation-existing h2{margin:0;flex:0 0 auto}.relation-existing .relation-row{flex:1;min-width:0}

.search-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:1rem}.search-info{min-width:0;overflow-wrap:anywhere}.search-info h2{margin-top:0}
.search-card .search-controls{display:flex;flex-direction:column;align-items:stretch;gap:.4rem}
.search-card .search-controls form{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;margin:0}
.search-card .search-controls label{flex-direction:column;align-items:stretch;gap:.25rem;white-space:normal;font-size:.875rem}.search-card .search-controls input[type=number]{width:100%}
.search-card button{border:1px solid #929ba6;border-radius:2px;background:linear-gradient(#fafbfc,#e2e6eb);color:#25313f;padding:.35rem .65rem;font-size:.875rem;min-height:30px;box-shadow:inset 0 1px #fff}
.search-card button:hover:not(:disabled){background:linear-gradient(#f4f8fc,#d5e1ed);border-color:#6c829c}.search-card button:active:not(:disabled){background:#d5dde7;box-shadow:inset 0 1px 2px #aeb9c8}.search-card button:disabled{color:#939aa2;opacity:.65}.search-card button:focus-visible{outline:2px solid #829ab5;outline-offset:2px}
.search-access{border-top:1px solid #dce1e7;margin-top:.65rem;padding-top:.45rem}.search-access p{margin:0 0 .4rem}.search-members:empty{display:none}.search-members{font-size:.875rem;margin:.25rem 0;padding-left:1.2rem}
.share-controls{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:1rem;align-items:start;margin:0}.share-controls select{justify-self:start;min-width:150px}.share-buttons{display:flex;flex-direction:column;gap:.4rem}
@media(max-width:600px){.search-layout,.share-controls{grid-template-columns:minmax(0,1fr)}.share-controls select{max-width:100%}}

html{min-height:100%;background:#f4f1eb}body{position:relative;isolation:isolate;min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url('/holmes-background.jpg') center center/cover no-repeat;opacity:.30}
.site-header{background:rgba(255,255,255,.93)}.header-top{grid-template-columns:minmax(145px,1fr) minmax(0,2fr) minmax(104px,1fr)}.header-logo{justify-self:end}
.app-brand{color:#4d4163;text-decoration:none;font-size:1.3rem;font-weight:750;line-height:1.1}.app-brand small{display:block;font-size:.7rem;font-weight:400;color:#665e72;margin-top:.2rem}
main{background:rgba(255,255,255,.55);border-radius:8px;padding:.65rem .8rem;margin-bottom:1rem}.card,.contact-editor,.relation-block{background:rgba(255,255,255,.83)}.chat-pane{background:rgba(247,248,250,.9)}
.logout-form{display:inline-flex;margin:0 0 0 .8rem}.logout-form button{background:transparent;border:0;color:#665e72;text-decoration:underline;font-size:.85rem;padding:0;cursor:pointer}
@media(max-width:600px){.header-top{grid-template-columns:minmax(0,1fr) 104px}.header-top nav{grid-column:1/-1;grid-row:2;padding:.35rem 0}.header-logo{grid-column:2;grid-row:1}.app-brand{font-size:1.1rem}main{padding:.5rem}}

.search-filter{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin:1rem 0 .65rem}.search-filter label{display:flex;flex-direction:column;gap:.3rem;margin:0}.search-filter .archive-toggle{flex-direction:row;align-items:center;align-self:center}.search-filter input[type=search]{width:320px;max-width:100%}
.search-card[hidden]{display:none}.search-card .archive-control{margin-top:.4rem;border-top:1px solid #dce1e7;padding-top:.4rem}

.search-filter label{min-width:0;max-width:100%}

.listing-filter{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin:.5rem 0}.listing-filter label{display:flex;flex-direction:column;gap:.3rem;margin:0;min-width:0;max-width:100%}.listing-filter input[type=search]{width:340px;max-width:100%}

.account-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.account-form label{margin:0}.account-form input{width:260px}.account-form .muted{flex-basis:100%;margin:0}.password-actions{display:flex;gap:6px}.user-status{margin:0}

.export-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:8px 0 0}.export-form label{margin:0}
