.lshc-card{background:#fff;border:1px solid #e7e7e7;border-radius:18px;padding:28px;margin:0 0 24px;box-shadow:0 8px 30px rgba(0,0,0,.05)}.lshc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lshc-field label{display:block;font-weight:650;margin-bottom:6px}.lshc-field input,.lshc-field select,.lshc-field textarea{width:100%;padding:12px;border:1px solid #ccd0d4;border-radius:8px}.lshc-field textarea{min-height:110px}.lshc-button,.lshc-small-button{display:inline-block;background:#7fda21;color:#111!important;border:0;border-radius:999px;padding:12px 20px;text-decoration:none;font-weight:750}.lshc-small-button{padding:7px 12px}.lshc-consent{display:block;margin:18px 0}.lshc-success{padding:20px;border-left:4px solid #7fda21;background:#f7fff0;margin-bottom:20px}.lshc-table{width:100%;border-collapse:collapse}.lshc-table th,.lshc-table td{padding:12px;border-bottom:1px solid #eee;text-align:left}.lshc-table-wrap{overflow:auto}.lshc-chip{display:inline-block;padding:4px 9px;border-radius:999px;background:#f0f0f0}.lshc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.lshc-metrics>div{background:#111;color:#fff;border-radius:14px;padding:18px}.lshc-metrics strong{font-size:28px;display:block}.lshc-metrics span{opacity:.7}.lshc-score{font-size:42px;font-weight:800}.lshc-score span{font-size:16px}.lshc-agreement summary{cursor:pointer;padding:12px 0;font-weight:700}.lshc-agreement-body{padding:10px 0 20px}.lshc-accepted{color:#4a9d00}.lshc-plan-summary{border-top:1px solid #eee;padding:18px 0}@media(max-width:700px){.lshc-grid,.lshc-metrics{grid-template-columns:1fr}}
/* Partner onboarding + compliance */
.lshc-compliance-card{background:linear-gradient(145deg,#fff,#f8fbf6)}.lshc-compliance-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.lshc-compliance-head small{font-weight:750;text-transform:uppercase;letter-spacing:.09em;color:#668c3e}.lshc-compliance-head h3{margin:4px 0 6px;font-size:26px}.lshc-compliance-head p{margin:0;color:#6a6e71}.lshc-compliance-head>strong{font-size:34px}.lshc-progress{height:10px;background:#eef1ee;border-radius:999px;overflow:hidden;margin:16px 0}.lshc-progress i{display:block;height:100%;background:#7fda21;border-radius:inherit}.lshc-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.lshc-check{display:flex;gap:8px;align-items:center;padding:10px 12px;border:1px solid #e8ebe7;border-radius:12px;background:#fafbfa}.lshc-check b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e6e8e6}.lshc-check.is-done{background:#f4faee;border-color:#d8efc0}.lshc-check.is-done b{background:#7fda21}.lshc-help{font-size:13px;color:#73777a}.lshc-opportunity-accept{display:inline-block}.lshc-opportunity-accept summary{list-style:none;cursor:pointer}.lshc-opportunity-accept summary::-webkit-details-marker{display:none}.lshc-opportunity-accept form{min-width:320px;max-width:460px;margin-top:10px;background:#fff;border:1px solid #e5e8e5;border-radius:16px;padding:16px;box-shadow:0 12px 34px rgba(0,0,0,.10)}.lshc-opportunity-accept label{display:block;margin:10px 0}.lshc-opportunity-accept input[type=text]{width:100%;padding:10px;border:1px solid #ccd0d4;border-radius:8px}.lshc-link-button{border:0;background:transparent;text-decoration:underline;margin-left:10px;cursor:pointer}.lshc-card>form>label:not(.lshc-consent){display:flex;flex-direction:column;gap:6px}.lshc-card input,.lshc-card select,.lshc-card textarea{max-width:100%}
@media(max-width:760px){.lshc-check-grid{grid-template-columns:1fr 1fr}.lshc-opportunity-accept form{min-width:0;width:min(86vw,420px)}}
@media(max-width:480px){.lshc-check-grid{grid-template-columns:1fr}.lshc-compliance-head{flex-direction:column}.lshc-compliance-head>strong{font-size:28px}}
/* v0.9 Messaging, vault + proposals */
.lshc-conversation{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow:auto;margin-bottom:16px}.lshc-message{max-width:88%;border:1px solid #e7e9e7;border-radius:18px;padding:14px 16px;background:#f7f8f7}.lshc-message-hub{margin-left:auto;background:#f1fae8}.lshc-message-partner{background:#eef3ff}.lshc-message>div{display:flex;justify-content:space-between;gap:10px}.lshc-message small{color:#777}.lshc-message p{margin:8px 0 0;line-height:1.55}.lshc-message-form textarea{width:100%;border:1px solid #d9ddda;border-radius:14px;padding:12px}.lshc-empty-state{padding:22px;border:1px dashed #d8ddd7;border-radius:16px;text-align:center;color:#747a76}.lshc-vault-list{display:flex;flex-direction:column;gap:8px}.lshc-document-card{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;border:1px solid #e7e9e7;border-radius:15px;padding:12px}.lshc-document-card strong,.lshc-document-card small{display:block}.lshc-document-card small{color:#777;margin-top:3px}.lshc-upload-form{border-top:1px solid #e7e9e7;margin-top:16px;padding-top:16px}.lshc-upload-form input[type=file]{max-width:240px}.lshc-portal-tabs,.lshc-energy-actions{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 16px}.lshc-portal-tabs a{padding:8px 12px;border:1px solid #e1e5df;border-radius:999px;text-decoration:none;color:#222}.lshc-partner-proposal label{display:block;margin:0 0 12px}.lshc-partner-proposal input,.lshc-partner-proposal textarea{width:100%;padding:11px;border:1px solid #d6dbd5;border-radius:10px}.lshc-public-items{display:flex;flex-direction:column}.lshc-public-items>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}.lshc-public-items span strong,.lshc-public-items span small{display:block}.lshc-public-items span small{color:#777;margin-top:3px}.lshc-public-total{display:flex;justify-content:space-between;align-items:center;padding:18px 0 6px;font-size:18px}.lshc-public-total strong{font-size:28px}.lshc-proposal-hero{background:#202124;color:#fff;border-radius:24px;padding:28px;margin-bottom:18px}.lshc-proposal-hero h2{font-size:32px;margin:6px 0 10px}.lshc-proposal-hero p{max-width:760px;color:#e8e8e8}.lshc-proposal-actions{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.lshc-proposal-actions form:first-child{background:#f7faf4;border:1px solid #e2ecda;border-radius:18px;padding:18px}.lshc-proposal-actions label{display:block;margin:8px 0}.lshc-proposal-actions input[type=text]{width:100%;padding:11px;border:1px solid #d6dbd5;border-radius:10px}
@media(max-width:700px){.lshc-document-card{grid-template-columns:28px 1fr}.lshc-document-card .button{grid-column:2}.lshc-public-items>div{grid-template-columns:1fr auto}.lshc-public-items>div>a{grid-column:1/-1}.lshc-proposal-actions{grid-template-columns:1fr}.lshc-message{max-width:96%}}

/* v0.10 customer/partner project schedule */
.lshc-job-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.lshc-job-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:20px}.lshc-milestone{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08)}.lshc-milestone-dot{width:12px;height:12px;border-radius:50%;background:#ddd}.lshc-milestone.status-completed .lshc-milestone-dot{background:#84bd00}.lshc-milestone.status-in_progress .lshc-milestone-dot{background:#111}.lshc-milestone.status-blocked .lshc-milestone-dot{background:#b42318}.lshc-milestone strong,.lshc-milestone small,.lshc-schedule-row strong,.lshc-schedule-row small,.lshc-variation-card strong,.lshc-variation-card small{display:block}.lshc-schedule-row,.lshc-variation-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08)}.lshc-variation-card{grid-template-columns:minmax(0,1fr) auto}.lshc-schedule-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#f2f4f3}@media(max-width:760px){.lshc-job-grid{grid-template-columns:1fr}.lshc-job-hero{flex-direction:column}.lshc-milestone{grid-template-columns:18px 1fr}.lshc-milestone form{grid-column:2}}
.lshc-appointment-statuses{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.lshc-appointment-statuses span{font-size:12px;padding:4px 8px;border-radius:999px;background:#f2f4f7;color:#344054}.lshc-inline-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.lshc-appointment-confirmation{max-width:860px;margin:0 auto}
