.customer-portal,.customer-portal-content,.customer-portal-list,.customer-portal-form,.customer-portal-thread,.customer-portal-admin{display:grid;gap:18px;min-width:0}
.customer-portal p,.customer-portal-admin p{margin:0;overflow-wrap:anywhere}
.customer-portal h2,.customer-portal h3,.customer-portal-admin h2,.customer-portal-admin h3{margin:0;overflow-wrap:anywhere}
.customer-portal h2,.customer-portal-admin h2{font-size:20px}.customer-portal h3,.customer-portal-admin h3{font-size:16px}
.customer-portal-card,.customer-portal-form{display:grid;gap:16px;min-width:0;padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff;scroll-margin-top:20px}
.customer-portal-form{border:2px solid #9cbeb0}
.customer-portal-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;min-width:0}
.customer-portal-top>div{display:grid;gap:8px;min-width:0}
.customer-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}
.customer-portal-grid>.customer-portal-card{align-content:start}
.customer-portal-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;min-width:0}
.customer-portal .btn,.customer-portal-admin .btn,.customer-portal .form-control,.customer-portal-admin .form-control,.customer-portal .form-select,.customer-portal-admin .form-select{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.customer-portal .form-check-input,.customer-portal-admin .form-check-input{min-height:0}
.customer-portal .field-group,.customer-portal-admin .field-group{margin:0;min-width:0}
.customer-portal .status-badge,.customer-portal-admin .status-badge{white-space:normal;overflow-wrap:anywhere}
.customer-portal [hidden],.customer-portal-admin [hidden]{display:none!important}
.customer-portal-preview{padding:18px;border:2px solid #c99a37;border-radius:12px;background:#fff7e6;display:grid;gap:7px}
.customer-portal-preview strong{font-size:17px}
.customer-portal-note{white-space:pre-line;overflow-wrap:anywhere}
.customer-portal-muted,.customer-portal-meta{font-size:13px;color:var(--muted)}
.customer-portal-meta{display:flex;flex-wrap:wrap;gap:7px 15px}
.customer-portal-file,.customer-portal-message{display:grid;gap:10px;padding:16px;background:#f8fafb;border:1px solid var(--line);border-radius:10px;min-width:0}
.customer-portal-file strong{overflow-wrap:anywhere}
.customer-portal-reply{border-left:4px solid var(--primary);background:#eff7f3}
.customer-portal-warning{padding:13px;border-radius:9px;background:#fff6e8;color:#76511c}
.customer-portal-success{padding:13px;border-radius:9px;background:#eaf5ef;color:#195242}
.customer-portal-errors:empty,.customer-portal-status:empty,.customer-portal-editor:empty{display:none}
.customer-portal-editor{min-width:0}
.customer-portal-checks{display:grid;gap:10px;min-width:0}
.customer-portal-choice{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:9px;min-height:44px;cursor:pointer;min-width:0}
.customer-portal-choice input{margin-top:3px;flex:0 0 auto;width:19px;height:19px}
.customer-portal-choice>span{display:grid;gap:5px;min-width:0;overflow-wrap:anywhere}
.customer-portal-access-list{display:grid;gap:16px;min-width:0}
.customer-portal-admin details>summary,.customer-portal details>summary{padding:12px 0;min-height:44px;cursor:pointer;font-weight:600}
.customer-portal-admin details>form{margin-top:12px}
.customer-portal-site{padding:15px;background:#f0f6f3;border-radius:9px;display:grid;gap:5px}
.customer-portal-back{min-height:44px;display:inline-flex;align-items:center;justify-self:start}
.customer-portal-file-choice{display:grid;gap:13px;padding:14px;border:1px solid var(--line);border-radius:9px;min-width:0}
.customer-portal-admin .customer-portal-project-options{max-height:340px;overflow:auto;overscroll-behavior:contain;padding:2px}
.customer-portal-customer-message{border-left:4px solid #6c88a8;background:#f3f7fb}
.customer-portal-workflow,.customer-portal-notification-list,.customer-portal-queue-list{display:grid;gap:12px;min-width:0}
.customer-portal-workflow{padding:15px;background:#f4f7f8;border:1px solid var(--line);border-radius:10px}
.customer-portal-deadline{padding:10px 12px;border-radius:8px;background:#eef3fa;font-weight:600}
.customer-portal-overdue{background:#fff3e3;color:#805019;border-left:4px solid #b77b25}
.customer-portal-notification{display:grid;gap:10px;border:1px solid var(--line);border-radius:10px;padding:15px;min-width:0}
.customer-portal-notification.is-unread{border-left:4px solid var(--primary);background:#f2f9f5}
.customer-portal-queue-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0}
.customer-portal-queue-filters>.customer-portal-actions{grid-column:1/-1}
.customer-portal-queue-summary{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px}
.customer-portal-thread:empty{display:none}
.customer-portal-order{border-left:4px solid #527d70;background:#f6faf8}
.customer-portal-project-label{font-size:13px;color:#225e4c;font-weight:600;padding:8px 11px;background:#edf6f1;border-radius:8px;overflow-wrap:anywhere}
.customer-portal-order-more{padding:12px 16px;border:1px solid var(--line);border-radius:10px;min-width:0}
.customer-portal-order-more>summary{min-height:44px;cursor:pointer;font-weight:600}
.customer-portal-order-more[open]>summary{margin-bottom:12px}
@media(max-width:800px){.customer-portal-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.customer-portal-card,.customer-portal-form{padding:16px}.customer-portal-top{flex-direction:column}.customer-portal-actions>.btn{flex:1 1 150px}.customer-portal-meta{display:grid;gap:5px}.customer-portal-preview{padding:15px}.customer-portal-admin .customer-portal-project-options{max-height:300px}.customer-portal-queue-filters{grid-template-columns:minmax(0,1fr)}}
