.requests-page{height:100vh;padding:1.25rem;background:#f3f6f9}.requests-card{height:100%;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dce3ea;border-radius:14px;box-shadow:0 8px 28px #243b5312}.requests-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e8edf2}.requests-header h1{margin:.15rem 0 0;font-size:1.15rem}.requests-eyebrow{font-size:.72rem;color:#0d6efd;font-weight:700}.requests-toolbar{display:flex;align-items:center;gap:.65rem;padding:.75rem}.requests-search{min-width:0;flex:1}.requests-count{color:#6b7785;font-size:.82rem;white-space:nowrap}.requests-grid-wrap{flex:1;min-height:0;margin:0 .75rem .75rem}.requests-grid-control{height:100%!important;direction:rtl!important}.requests-grid-control *{text-align:right!important}.requests-grid-control .dxbl-grid-table td,.requests-grid-control .dxbl-grid-table th{font-size:.86rem!important}.requests-grid-control .dxbl-grid-table tbody tr:nth-child(even)>td{background:#f8fafc}.requests-grid-control .dxbl-grid-table tbody tr:hover>td{background:#eaf2ff!important}.requests-grid-control .dxbl-grid-table tbody tr.dxbl-grid-focused-row>td{background:#cfe2ff!important;color:#212529!important}.requests-view{font-size:1.1rem}.requests-state{padding:2rem;text-align:center;color:#687786}.request-modal-backdrop{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:1rem;background:#17212b80}.request-modal{width:min(920px,100%);max-height:92vh;overflow:hidden;background:#fff;border-radius:14px;box-shadow:0 20px 60px #0004}.request-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e5e9ee}.request-modal-header span{font-size:.76rem;color:#6c757d}.request-modal-header h2{margin:.2rem 0 0;font-size:1.15rem}.request-modal-body{max-height:calc(92vh - 75px);overflow:auto;padding:1.1rem}.request-modal-body h3{margin:1.25rem 0 .7rem;font-size:1rem}.request-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.request-summary>div{display:flex;flex-direction:column;padding:.65rem;background:#f6f8fa;border-radius:8px}.request-summary label{font-size:.72rem;color:#718096}.request-summary strong{margin-top:.25rem;font-size:.88rem}.request-summary .wide{grid-column:1/-1}.request-details-list{display:grid;gap:.55rem}.request-detail-item{display:grid;grid-template-columns:1.4fr repeat(3,1fr);align-items:center;gap:.55rem;padding:.75rem;border:1px solid #e3e8ed;border-radius:9px}.request-detail-item span{font-size:.82rem;color:#4b5967}.request-detail-item p{grid-column:1/-1;margin:.25rem 0 0;padding-top:.5rem;border-top:1px dashed #dbe1e7;font-size:.82rem}.request-attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.request-attachment{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.65rem;text-align:right;border:1px solid #dde4eb;border-radius:8px;background:#fff;color:#24364a}.request-attachment:hover{background:#f2f7ff;border-color:#9fc3f7}.request-attachment small{color:#7b8794}.tenant-missing{min-height:100vh;display:grid;place-content:center;text-align:center}.login-tenant{margin-top:-1rem;color:#748294;font-size:.82rem}@media(max-width:720px){.requests-page{padding:0}.requests-card{border-radius:0}.requests-toolbar{flex-wrap:wrap}.requests-count{width:100%}.request-summary{grid-template-columns:repeat(2,1fr)}.request-detail-item{grid-template-columns:1fr 1fr}.request-detail-item strong{grid-column:1/-1}.request-attachments{grid-template-columns:1fr}.request-modal-backdrop{padding:0}.request-modal{height:100vh;max-height:none;border-radius:0}.request-modal-body{max-height:calc(100vh - 75px)}}

/* Doctor request report refinements */
.requests-count{display:none}.request-date{display:flex;direction:rtl;gap:.35rem;white-space:nowrap}
.requests-grid-control .dxbl-grid-table tbody tr:hover>td{background:inherit!important}
.requests-grid-control .dxbl-grid-table tbody tr.dxbl-grid-data-row:hover>td{background:#eaf2ff!important}
.request-modal{width:min(1120px,96vw);max-height:94vh;display:flex;flex-direction:column}
.request-modal-header{padding:.85rem 1.1rem}.request-modal-header h2{font-size:1.05rem}
.request-modal-body{flex:1;min-height:0;max-height:none;padding:1rem}
.request-summary{grid-template-columns:repeat(5,1fr);gap:.5rem}.request-summary>div{padding:.55rem .65rem}.request-summary label{font-size:.68rem}.request-summary strong{font-size:.82rem}
.request-details-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
.request-detail-item{display:block;min-width:0;padding:.65rem;background:#fff;box-shadow:0 2px 8px #263b5008}
.request-detail-title{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.request-detail-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.request-detail-title small,.request-detail-color{color:#647383;font-size:.74rem}.request-detail-color{display:block;margin-top:.3rem}
.request-detail-item p{display:block;overflow:hidden;margin:.45rem 0 0;padding-top:.4rem;font-size:.76rem;white-space:nowrap;text-overflow:ellipsis}
.tooth-preview{direction:ltr;display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:46px;margin-top:.45rem;color:#34495e;font-size:.72rem}.tooth-quadrant{display:flex;align-items:center;gap:.22rem;min-width:0;padding:.2rem .35rem}.tooth-a,.tooth-c{justify-content:flex-end;border-right:1px solid #8393a4}.tooth-a,.tooth-b{border-bottom:1px solid #8393a4}.tooth-b,.tooth-d{justify-content:flex-start}
.request-attachments{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.request-attachment{grid-template-columns:auto minmax(0,1fr) auto;min-width:0;padding:.45rem .55rem;font-size:.75rem}.request-attachment span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.request-attachment small{white-space:nowrap}
.request-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-top:1px solid #e5e9ee}.request-actions{display:flex;gap:.5rem}
.reject-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#17212b8f}.reject-modal{width:min(480px,100%);overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 18px 55px #0005}.reject-modal header,.reject-modal footer{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem}.reject-modal header{border-bottom:1px solid #e5e9ee}.reject-modal header h3{margin:0;font-size:1rem}.reject-modal-body{padding:1rem}.reject-modal footer{justify-content:flex-start;gap:.5rem;border-top:1px solid #e5e9ee}
@media(max-width:720px){.request-summary{grid-template-columns:repeat(2,1fr)}.request-details-list,.request-attachments{grid-template-columns:1fr}.request-modal{width:100%;display:flex}.request-modal-body{max-height:none}.request-modal-footer{align-items:stretch}.request-actions{flex-direction:column}.request-modal-footer .btn{font-size:.78rem}}

.request-summary{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}
.request-summary .request-patient{grid-column:span 6}
.request-summary .request-created{grid-column:span 3}
.request-summary .request-status{grid-column:span 3}
.status-badge{display:inline-flex;align-items:center;align-self:flex-start;width:max-content;padding:.2rem .55rem;border-radius:999px;font-size:.76rem!important}
.status-pending{color:#805b00;background:#fff3cd}.status-approved{color:#0f5132;background:#d1e7dd}.status-rejected{color:#842029;background:#f8d7da}.status-converted{color:#084298;background:#cfe2ff}
.request-section-title{display:inline-flex;margin:.85rem 0 .5rem!important;padding:.22rem .6rem;border-radius:5px;background:#e8f3ff;color:#25639a;font-size:.78rem!important;font-weight:600}
.request-details-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.request-detail-item{padding:.5rem .6rem}
.request-detail-dental{display:flex;align-items:center;gap:.65rem;min-width:0;margin-top:.3rem}
.request-detail-color{flex:0 0 auto;margin-top:0;white-space:nowrap}
.tooth-preview{flex:0 1 260px;width:auto;max-width:260px;min-height:30px;margin-top:0;font-size:.67rem}
.tooth-quadrant{min-height:15px;padding:.05rem .22rem;gap:.16rem;line-height:1}
.request-detail-item p{width:100%;max-width:100%;box-sizing:border-box}
@media(max-width:720px){.request-summary .request-patient{grid-column:1/-1}.request-summary .request-created,.request-summary .request-status{grid-column:span 6}.request-detail-dental{align-items:flex-start;flex-direction:column;gap:.3rem}.tooth-preview{width:100%;max-width:260px}}

.request-grid-date{display:inline-block;direction:ltr;white-space:nowrap;text-align:left!important}
.request-details-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.request-detail-title strong small{font-size:.72rem;color:#647383;font-weight:500}
.request-detail-color{font-size:.7rem}
.request-detail-dental{display:block;margin-top:.35rem}
.tooth-preview{flex:none;width:180px;max-width:100%;min-height:24px;font-size:.64rem}
.tooth-quadrant{min-height:12px;padding:0 .15rem;gap:.12rem}
.request-detail-comment{width:100%;margin-top:.4rem;padding-top:.35rem;border-top:1px dashed #dbe1e7}
.request-detail-comment-head{display:flex;align-items:center;justify-content:space-between;height:1.35rem;color:#607080;font-size:.7rem}
.request-detail-comment-head .btn{padding:0 .2rem;font-size:.7rem;line-height:1}
.request-detail-comment p{display:-webkit-box;width:100%;height:3.45rem;margin:.1rem 0 0;padding:0;border:0;overflow:hidden;white-space:normal;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-height:1.15rem;font-size:.74rem}
.comment-modal-backdrop{position:fixed;inset:0;z-index:1250;display:grid;place-items:center;padding:1rem;background:#17212b8f}
.comment-modal{width:min(620px,100%);max-height:80vh;display:flex;flex-direction:column;overflow:hidden;background:#fff;border-radius:12px;box-shadow:0 18px 55px #0005}
.comment-modal header,.comment-modal footer{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem}.comment-modal header{border-bottom:1px solid #e5e9ee}.comment-modal header h3{margin:0;font-size:.95rem}.comment-modal-body{overflow:auto;padding:1rem;white-space:pre-wrap;line-height:1.9}.comment-modal footer{justify-content:flex-start;border-top:1px solid #e5e9ee}
@media(max-width:720px){.request-details-list{grid-template-columns:1fr}.request-detail-dental{display:block;margin-top:.25rem}.tooth-preview{flex:none;width:160px;max-width:100%;min-height:22px}.tooth-quadrant{min-height:11px}.request-detail-comment p{height:3.3rem;line-height:1.1rem}}

.request-summary .request-patient{grid-column:span 7}
.request-summary .request-created{grid-column:span 3}
.request-summary .request-status{grid-column:span 2}
.request-section-title{display:flex;align-items:center;width:max-content;gap:.4rem;padding:0;background:transparent;color:#2d78b7;font-size:.8rem!important}
.request-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:#eef1f4;color:#4f5d6b;font-size:.68rem;font-weight:600}
.request-detail-dental{display:flex;align-items:center;justify-content:space-between;gap:.55rem}
.request-detail-meta{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:.2rem;color:#647383;font-size:.7rem;white-space:nowrap}
.request-detail-color{margin:0}
@media(max-width:720px){.request-summary .request-patient{grid-column:1/-1}.request-summary .request-created{grid-column:span 8}.request-summary .request-status{grid-column:span 4}.request-detail-dental{display:flex;align-items:center;flex-direction:row;gap:.45rem}.tooth-preview{width:150px}}

.request-status-filters{display:flex;align-items:center;gap:.4rem;white-space:nowrap}
.request-status-filter{min-height:38px;padding:.35rem .7rem;border:1px solid #d6dde5;border-radius:8px;background:#fff;color:#687786;font-size:.76rem;transition:.15s}
.request-status-filter.active.pending{border-color:#e4b84d;background:#fff3cd;color:#775400}
.request-status-filter.active.approved{border-color:#69b58f;background:#d1e7dd;color:#0f5132}
.request-status-filter.active.rejected{border-color:#df8e96;background:#f8d7da;color:#842029}
@media(max-width:850px){.requests-toolbar{align-items:stretch}.request-status-filters{order:3;width:100%;overflow:auto}.request-status-filter{flex:1}.requests-search{min-width:180px}}
