#defaultModal .modal-dialog:has(.drive-browser) { max-width: 760px; }
#defaultModal .modal-content:has(.drive-browser) { background: #151d27; color: #dce5ed; border: 1px solid #34404d; border-radius: 18px; box-shadow: 0 24px 80px #0008; }
#defaultModal:has(.drive-browser) .modal-header, #defaultModal:has(.drive-browser) .modal-footer { border-color: #ffffff12; padding: 1rem 1.25rem; }
#defaultModal:has(.drive-browser) .modal-title { font-size: 1.05rem; font-weight: 600; overflow-wrap: anywhere; }
#defaultModal:has(.drive-browser) .btn-close { filter: none; opacity: .75; }
#defaultModal:has(.drive-browser) .modal-body { padding: 1.25rem; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #405164 transparent; }
#defaultModal:has(.drive-browser) .modal-footer .btn { background: #253342; color: #dce5ed; border: 1px solid #ffffff12; border-radius: 8px; font-size: .8rem; }
.drive-browser { font-size: .8rem; }
.drive-browser .drive-intro { margin: 0 0 1.2rem; color: #a9baca; overflow-wrap: anywhere; }
.drive-intro strong { color: #e5edf4; font-weight: 500; }
.drive-intro > span { display: block; font-size: .7rem; color: #879bab; margin-top: .25rem; }
.drive-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; }
.drive-section-heading h3 { font-size: .9rem; font-weight: 600; margin: 0; color: #e2ebf2; }
.drive-section-heading > span { font-size: .7rem; color: #92a5b6; }
.drive-volume { border: 1px solid #ffffff12; border-radius: 12px; background: #101822; padding: 1rem; margin-bottom: .75rem; }
.drive-volume-heading { display: flex; align-items: center; gap: .7rem; margin-bottom: 1rem; }
.drive-volume-heading > div { min-width: 0; flex: 1; }
.drive-volume h4, .drive-hardware h4 { font-size: .87rem; font-weight: 600; color: #e7eef4; margin: 0; overflow-wrap: anywhere; }
.drive-volume-heading p { font-size: .73rem; color: #8fa5b5; margin: .2rem 0 0; overflow-wrap: anywhere; }
.drive-icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; background: #70bace15; color: #80c4d6; border-radius: 10px; }
.drive-icon svg { width: 21px; height: 21px; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.drive-percent { color: #d7e9f0; font-size: 1rem; font-variant-numeric: tabular-nums; text-align: right; }
.drive-percent small { display: block; color: #8fa5b5; font-size: .65rem; }
.drive-space-track { height: 8px; border-radius: 6px; overflow: hidden; background: #314252; }
.drive-space-fill { height: 100%; background: #70bace; border-radius: inherit; }
.drive-space-fill.moderate { background: #d5b56e; }
.drive-space-fill.high { background: #dc8790; }
.drive-space-values { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .5rem; margin: .8rem 0; }
.drive-space-values dt, .drive-specs dt { display: flex; align-items: center; gap: .3rem; color: #8fa5b5; font-weight: 400; font-size: .68rem; margin-bottom: .2rem; }
.drive-space-values dd, .drive-specs dd { margin: 0; color: #dce8ef; font-size: .8rem; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.drive-used-key, .drive-free-key { width: 6px; height: 6px; border-radius: 2px; background: #70bace; }
.drive-volume:has(.moderate) .drive-used-key { background: #d5b56e; }
.drive-volume:has(.high) .drive-used-key { background: #dc8790; }
.drive-free-key { background: #314252; border: 1px solid #68839a; }
.drive-volume-meta { display: flex; flex-wrap: wrap; gap: .45rem .85rem; padding-top: .65rem; border-top: 1px solid #ffffff0d; color: #809aaa; font-size: .68rem; overflow-wrap: anywhere; }
.drive-hardware-heading { margin-top: 1.5rem; }
.drive-help { font-size: .7rem; color: #8fa5b5; line-height: 1.5; margin: .65rem 0; }
.drive-hardware { border: 1px solid #ffffff12; border-radius: 12px; padding: 1rem; margin-bottom: .75rem; }
.drive-specs { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .85rem; margin: .9rem 0 0; }
.drive-serial { font-family: ui-monospace, Consolas, monospace; }
.drive-unavailable { padding: 1rem; border: 1px dashed #344858; border-radius: 10px; color: #94aabb; font-size: .75rem; }
@media (max-width: 480px) {
    #defaultModal:has(.drive-browser) .modal-body { padding: .85rem; }
    .drive-volume, .drive-hardware { padding: .8rem; }
    .drive-space-values dd { font-size: .72rem; }
}
