/* Nexum File Sharing — uses the portal tokens only */
#nxfs-wrap, #nxfs-wrap * { box-sizing: border-box; }
#nxfs-wrap { max-width: 100%; min-width: 0; }
.nxfs-head-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.nxfs-mode { font-family: var(--lmm-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; padding: 4px 9px; border: 1px dashed var(--lmm-border2, var(--lmm-border)); color: var(--lmm-text3); border-radius: 2px; }

.nxfs-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.nxfs-crumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; font-size: 13.5px; min-width: 0; }
.nxfs-crumbs a { color: var(--lmm-text2); text-decoration: none; padding: 3px 6px; border-radius: 2px; overflow-wrap: anywhere; }
.nxfs-crumbs a:hover { background: var(--lmm-surface2); color: var(--lmm-text); }
.nxfs-crumbs a.is-last { color: var(--lmm-green); font-weight: 600; }
.nxfs-sep { color: var(--lmm-text3); }

.nxfs-chip { display: inline-block; font-family: var(--lmm-mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 2px; border: 1px solid var(--lmm-border2, var(--lmm-border)); color: var(--lmm-text3); white-space: nowrap; }
.nxfs-chip.lv-view { color: var(--lmm-green); border-color: var(--lmm-green); }
.nxfs-chip.lv-upload { color: var(--lmm-green-light, var(--lmm-green)); border-color: var(--lmm-green-dim, var(--lmm-green)); background: var(--lmm-green-glow); }
.nxfs-chip.lv-manage { color: var(--lmm-on-accent); background: var(--lmm-green); border-color: var(--lmm-green); }
.nxfs-chip.lv-bad { color: var(--lmm-danger); border-color: var(--lmm-danger); }
.nxfs-n { font-size: 11.5px; color: var(--lmm-text2); margin-left: 6px; }

.nxfs-newfolder { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; flex-wrap: wrap; }
.nxfs-newfolder .lmm-input { max-width: 280px; }

.nxfs-drop { border: 2px dashed var(--lmm-border2, var(--lmm-border)); border-radius: var(--lmm-radius); padding: 26px 20px; text-align: center; background: var(--lmm-surface2); margin-bottom: 14px; transition: border-color .15s, background .15s; }
.nxfs-drop.is-over { border-color: var(--lmm-green); background: var(--lmm-green-glow); }
.nxfs-drop-icon { font-size: 24px; color: var(--lmm-green); margin-bottom: 4px; }
.nxfs-drop-title { font-size: 15px; font-weight: 600; color: var(--lmm-text); margin-bottom: 4px; }
.nxfs-browse-link { background: none; border: none; padding: 0; color: var(--lmm-green); cursor: pointer; font: inherit; text-decoration: underline; }

.nxfs-queue:not(:empty) { margin-bottom: 14px; }
.nxfs-up { background: var(--lmm-surface2); border: 1px solid var(--lmm-border); border-radius: var(--lmm-radius-sm); padding: 10px 14px; margin-bottom: 8px; font-size: 12.5px; }
.nxfs-up-name { color: var(--lmm-text); overflow-wrap: anywhere; margin-bottom: 6px; }
.nxfs-bar-track { background: var(--lmm-bg); border-radius: 3px; height: 5px; overflow: hidden; margin-bottom: 6px; }
.nxfs-bar-fill { background: var(--lmm-green); height: 100%; width: 0; transition: width .2s ease; }
.nxfs-up-st { color: var(--lmm-text2); font-size: 11.5px; }
.nxfs-up-st.is-ok { color: var(--lmm-green); }
.nxfs-up-st.is-bad { color: var(--lmm-danger); }

.nxfs-table-wrap { min-width: 0; }
.nxfs-scroll { overflow-x: auto; min-width: 0; }
.nxfs-scroll .lmm-table { min-width: 560px; }
.nxfs-ico { display: inline-block; width: 26px; }
.nxfs-name { color: var(--lmm-text); overflow-wrap: anywhere; }
a.nxfs-name { color: var(--lmm-text); text-decoration: none; font-weight: 500; }
a.nxfs-name:hover { color: var(--lmm-green); }
.nxfs-act { white-space: nowrap; text-align: right; }
.nxfs-act .lmm-btn-sm { margin-left: 4px; }
.nxfs-mono { font-family: var(--lmm-mono); font-size: 12px; overflow-wrap: anywhere; }
@media (max-width: 720px) { .nxfs-col-access { display: none; } }

/* drawer — same system as the Accounts drawer */
.nxfs-overlay { position: fixed; top: 0; left: 0; bottom: 0; right: var(--lmm-sidebar-w, 240px); background: rgba(8,9,11,.55); z-index: 9000; display: flex; align-items: stretch; justify-content: flex-end; }
@media (max-width: 768px) { .nxfs-overlay { right: 0; } }
.nxfs-drawer { background: var(--lmm-surface); border-left: 1px solid var(--lmm-border2, var(--lmm-border)); width: min(520px, 100%); height: 100%; display: flex; flex-direction: column; overflow: hidden; box-shadow: -28px 0 70px rgba(0,0,0,.38); animation: nxfs-in .22s cubic-bezier(.2,.8,.2,1); }
.nxfs-drawer.is-wide { width: min(900px, 100%); }
@keyframes nxfs-in { from { transform: translateX(36px); opacity: 0; } to { transform: none; opacity: 1; } }
.nxfs-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 22px 28px 18px; flex: none; border-bottom: 1px solid var(--lmm-border2, var(--lmm-border)); background: var(--lmm-surface2, var(--lmm-surface)); }
.nxfs-drawer-head h3 { margin: 0; font-family: var(--lmm-font-display); font-size: 21px; font-weight: 800; letter-spacing: -.02em; line-height: 1.22; color: var(--lmm-text); overflow-wrap: anywhere; }
.nxfs-eyebrow { font-family: var(--lmm-mono); text-transform: uppercase; letter-spacing: .12em; font-size: 10.5px; color: var(--lmm-green); margin-bottom: 8px; }
.nxfs-d-sub { margin-top: 6px; font-size: 12.5px; color: var(--lmm-text2); overflow-wrap: anywhere; }
.nxfs-drawer-close { width: 32px; height: 32px; flex: none; display: flex; align-items: center; justify-content: center; border-radius: 2px; color: var(--lmm-text2); font-size: 14px; padding: 0; background: none; border: 1px solid var(--lmm-border2, var(--lmm-border)); cursor: pointer; }
.nxfs-drawer-close:hover { background: var(--lmm-surface3, var(--lmm-bg)); color: var(--lmm-text); }
.nxfs-drawer-body { padding: 22px 28px 36px; overflow-y: auto; flex: 1; min-height: 0; }
@media (max-width: 600px) { .nxfs-drawer-head, .nxfs-drawer-body { padding-left: 18px; padding-right: 18px; } }
.nxfs-people { display: flex; flex-direction: column; gap: 6px; }
.nxfs-person { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 14px; border: 1px solid var(--lmm-border); border-radius: var(--lmm-radius-sm); background: var(--lmm-surface2); }
.nxfs-person strong { display: block; font-size: 13.5px; color: var(--lmm-text); }
.nxfs-person small { display: block; font-size: 11.5px; color: var(--lmm-text2); margin-top: 2px; }
.nxfs-person.is-inh { opacity: .75; }
.nxfs-none { padding: 6px 0; font-size: 13px; }
.nxfs-addrow { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; }
@media (max-width: 520px) { .nxfs-addrow { grid-template-columns: 1fr; } }
#nxfs-share-msg { margin-top: 12px; }
.nxfs-linkbox { display: flex; gap: 8px; margin: 16px 0 8px; }
.nxfs-pager { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; }

/* Settings → File Sharing */
.nxfs-settings .nxfs-s-status { padding: 12px 14px; border: 1px solid var(--lmm-border); border-radius: var(--lmm-radius-sm); background: var(--lmm-surface2); font-size: 13px; color: var(--lmm-text2); margin-bottom: 18px; }
.nxfs-s-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.nxfs-s-actions { display: flex; gap: 10px; margin: 4px 0 8px; }
.nxfs-s-h { margin: 26px 0 6px; font-family: var(--lmm-mono); text-transform: uppercase; letter-spacing: .12em; font-size: 11px; color: var(--lmm-green); }
.nxfs-s-add { display: grid; grid-template-columns: 2fr 2fr 1.4fr auto; gap: 12px; align-items: end; margin-bottom: 14px; }
.nxfs-s-add .nxfs-a-btn { margin-bottom: 16px; }
@media (max-width: 900px) { .nxfs-s-add { grid-template-columns: 1fr 1fr; } }
.nxfs-check { display: flex; gap: 8px; align-items: center; font-size: 13.5px; color: var(--lmm-text); cursor: pointer; margin-bottom: 8px; }
.nxfs-check input { accent-color: var(--lmm-green); width: 16px; height: 16px; }
.nxfs-inline { display: inline-block; width: 90px; margin-left: 6px; padding: 6px 10px; }
.nxfs-cors { background: var(--lmm-bg); border: 1px solid var(--lmm-border); border-radius: var(--lmm-radius-sm); padding: 14px; font-family: var(--lmm-mono); font-size: 12px; color: var(--lmm-text2); overflow-x: auto; margin: 8px 0; max-width: 100%; }

.nxfs-settings > p.lmm-muted { margin: 0 0 14px; }
.nxfs-s-h + p.lmm-muted { margin-bottom: 14px; }

/* contain wide content so it scrolls inside the card instead of widening the page */
#nxfs-wrap { contain: inline-size; }
.nxfs-table-wrap { overflow: hidden; }
.nxfs-crumbs, .nxfs-bar, .nxfs-head-actions { min-width: 0; }
