.person-attribution{display:inline-flex;align-items:center;gap:.5rem;min-width:0;font-size:.875rem;line-height:1.3}.person-attribution>span:last-child{min-width:0;overflow-wrap:anywhere}.person-attribution small{display:block;color:var(--muted-foreground);font-size:.75rem}.party-avatar,.person-photo{width:2rem;height:2rem;border-radius:50%;background:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;font-size:.75rem;font-weight:650;border:1px solid var(--border)}.party-avatar img,.person-photo img{width:100%;height:100%;object-fit:cover}.record-people{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:.5rem 0}.record-links .record-people{width:100%}.photo-editor{display:flex;align-items:center;gap:1rem;margin:1rem 0}.photo-editor-preview{height:5rem;width:5rem;border-radius:50%;overflow:hidden;background:var(--muted);display:grid;place-items:center;flex-shrink:0}.photo-editor-preview img{width:100%;height:100%;object-fit:cover}.photo-upload-button{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.875rem}.photo-upload-button input{max-width:12rem}.photo-editor small{display:block;font-size:.75rem;margin:.4rem 0;color:var(--muted-foreground)}.party-toolbar{display:flex;align-items:center;gap:.6rem;margin:1rem 0;padding:.7rem 1rem;border:1px solid var(--border);border-radius:.8rem;background:var(--card)}.party-toolbar input{border:0;min-width:0;flex:1;background:transparent;font-size:1rem}.party-toolbar>span{font-size:.875rem;white-space:nowrap}.party-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.party-card{padding:1rem;border:1px solid var(--border);border-radius:1rem;background:var(--card);text-align:left;color:var(--foreground);transition:border-color .15s}.party-card:hover{border-color:var(--primary)}.party-card-head{display:flex;gap:.75rem;align-items:center}.party-card-head>span:nth-child(2){flex:1;min-width:0}.party-card-head small,.party-card-head strong{display:block}.party-card small{font-size:.875rem;color:var(--muted-foreground)}.party-card p{font-size:.875rem;margin:1rem 0}.party-avatar{width:2.75rem;height:2.75rem}.party-detail{max-height:90dvh;overflow-y:auto}.operational-details{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:.6rem 1rem;margin:1rem 0;font-size:.875rem}.operational-details dt{color:var(--muted-foreground)}.operational-details dd{overflow-wrap:anywhere}.linked-contract{display:flex;justify-content:space-between;gap:1rem;text-align:left;padding:.8rem 0;border-bottom:1px solid var(--border);width:100%}.linked-contract small{display:block;color:var(--muted-foreground);font-size:.875rem}.contract-warning{padding:1rem;border-left:3px solid #9f9f9f;background:color-mix(in srgb,#9f9f9f 9%,var(--card));border-radius:.4rem;margin:1rem 0}.contract-review{border:1px solid var(--border);border-radius:.8rem;padding:1rem;margin:1rem 0}.contract-review p{white-space:pre-wrap;line-height:1.5}.contract-checks{display:grid;gap:.6rem;margin:1rem 0}.contract-check{border:1px solid var(--border);border-left:3px solid #a8a8a8;padding:.6rem .8rem;border-radius:.4rem;font-size:.875rem}.contract-check.match{border-left-color:#777777}.contract-check.difference{border-left-color:#676767}.contract-check.unverified,.contract-check.warning{border-left-color:#9f9f9f}.contract-check small{display:block;font-size:.875rem;margin-top:.2rem}.contract-process{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.contract-process span{padding:.45rem .65rem;border:1px solid var(--border);border-radius:.5rem;font-size:.875rem}.contract-progress-item{padding:1rem;border:1px solid var(--border);border-radius:.7rem;margin:.8rem 0}.contract-progress-item p{white-space:pre-wrap}.estimate-preview{display:grid;grid-template-columns:1fr auto;gap:.65rem;border:1px solid var(--border);border-radius:.7rem;padding:1rem;margin:1rem 0}.estimate-preview .net{font-size:1.15rem;font-weight:700;color:var(--primary)}.contract-upload-list{display:grid;gap:.5rem;margin:.8rem 0}.contract-upload-list label{display:flex;align-items:center;gap:.5rem}.contract-upload-list input[type=checkbox]{width:auto}.contract-upload-list a{overflow-wrap:anywhere}.contract-form-dialog{max-height:90dvh;overflow-y:auto}.subcontract-detail-head{display:flex;justify-content:space-between;align-items:start;gap:1rem}.subcontract-detail-head p{white-space:pre-wrap}.subcontract-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.photo-account-trigger .person-photo{width:1.7rem;height:1.7rem}.record-people .person-photo{width:1.6rem;height:1.6rem}.subcontract-progress small{display:block}.contract-progress-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.contract-status-line{font-size:.875rem;color:var(--muted-foreground)}@media(max-width:600px){.party-grid{grid-template-columns:1fr}.party-toolbar>span{display:none}.contract-form-dialog,.party-detail{max-height:88dvh}.operational-details{grid-template-columns:1fr;gap:.2rem}.operational-details dd{margin-bottom:.6rem}.subcontract-detail-head{flex-direction:column}.contract-review{padding:.8rem}.photo-upload-button{flex-wrap:wrap}.contract-progress-actions>button{flex:1}.record-people{gap:.6rem}.person-attribution{font-size:.875rem}}.contract-form-dialog .estimate-preview,.contract-form-dialog .form-grid>p{grid-column:1/-1}.contract-form-dialog .form-footer{margin-top:1rem;flex-wrap:wrap}.contract-form-dialog .form-footer>button{white-space:normal;height:auto;min-height:36px}.contract-form-dialog .estimate-preview{margin:0}.party-detail input[type=file]{max-width:100%}@media(max-width:600px){.contract-form-dialog .form-grid{grid-template-columns:1fr}.contract-form-dialog .form-footer{flex-direction:column-reverse;align-items:stretch}.photo-editor{align-items:flex-start}.photo-upload-button{font-size:.8rem}}