.opp-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:16px 0}.opp-toolbar input,.opp-toolbar select{min-height:42px;border:1px solid #dce3eb;border-radius:9px;background:#fff;padding:0 12px;color:#263244;font:inherit}.opp-toolbar input{min-width:240px;flex:1}.opp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.opp-card{background:#fff;border:1px solid #e5eaf0;border-radius:13px;padding:18px}.opp-card small{display:block;color:#778397;font-weight:700;margin-bottom:8px}.opp-card strong{font-size:27px;color:#172234}.opp-table-wrap{overflow:auto;background:#fff;border:1px solid #e5eaf0;border-radius:13px}.opp-table{width:100%;border-collapse:collapse}.opp-table th,.opp-table td{text-align:left;padding:13px 15px;border-bottom:1px solid #edf1f5;vertical-align:top}.opp-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#778397;background:#fafbfd}.opp-row{cursor:pointer}.opp-row:hover{background:#f7f9fc}.opp-title{font-weight:750;color:#1d2939}.opp-muted{display:block;color:#778397;font-size:12px;margin-top:3px}.opp-badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:750;background:#eaf1ff;color:#2856a8}.opp-badge.high,.opp-badge.lost{background:#ffeaec;color:#b43b47}.opp-badge.medium,.opp-badge.in_progress{background:#fff1df;color:#a45f00}.opp-badge.recovered{background:#e4f7f1;color:#147763}.opp-badge.low,.opp-badge.open{background:#edf3ff;color:#315fae}.opp-empty{padding:42px 20px;text-align:center;color:#778397}.opp-scope{font-size:13px;color:#667085;margin-top:4px}.opp-unimplemented{border:1px dashed #cdd6e1;border-radius:12px;padding:17px;color:#667085;background:#fbfcfe;margin-top:14px}.opp-modal-backdrop{position:fixed;inset:0;z-index:1200;background:rgba(15,23,42,.56);display:none;place-items:center;padding:20px}.opp-modal-backdrop.open{display:grid}.opp-modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:15px;box-shadow:0 24px 70px rgba(15,23,42,.26);padding:22px}.opp-modal.wide{width:min(920px,100%)}.opp-modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.opp-modal-head h2{margin:0 0 5px}.opp-close{border:0;background:#eef2f6;width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer}.opp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.opp-field{display:flex;flex-direction:column;gap:6px}.opp-field.full{grid-column:1/-1}.opp-field label{font-size:13px;font-weight:750;color:#344054}.opp-field input,.opp-field select,.opp-field textarea{border:1px solid #d8e0e9;border-radius:9px;padding:10px 11px;font:inherit;color:#253247;background:#fff}.opp-field textarea{min-height:82px;resize:vertical}.opp-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.opp-danger{background:#fff1f2!important;color:#b42336!important;border:1px solid #ffd2d7!important}.opp-success{background:#e7f8f2!important;color:#13715d!important;border:1px solid #bdecdc!important}.opp-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin-bottom:18px}.opp-detail-grid div{padding:9px 0;border-bottom:1px solid #edf1f5}.opp-detail-grid small{display:block;color:#778397;margin-bottom:3px}.opp-detail-section{margin-top:20px}.opp-detail-section h3{font-size:15px;margin:0 0 10px}.opp-timeline{display:grid;gap:9px}.opp-event{border-left:3px solid #d7e3f5;padding:7px 10px;background:#f9fbfd;border-radius:0 8px 8px 0}.opp-event small{display:block;color:#7b8798;margin-top:3px}.opp-note-form{display:flex;gap:8px}.opp-note-form textarea{flex:1;min-height:68px;border:1px solid #d8e0e9;border-radius:9px;padding:10px;font:inherit}.opp-error{color:#b42336;background:#fff1f2;border-radius:8px;padding:10px;display:none;margin-top:12px}.opp-finance-pending{color:#9a5b00;font-weight:700}.opp-loading{opacity:.55;pointer-events:none}@media(max-width:850px){.opp-grid{grid-template-columns:1fr 1fr}.opp-form-grid,.opp-detail-grid{grid-template-columns:1fr}.opp-field.full{grid-column:auto}.opp-table{min-width:760px}}@media(max-width:520px){.opp-grid{grid-template-columns:1fr}.opp-toolbar input{min-width:100%}.opp-modal{padding:17px}.opp-actions button{flex:1}}
