:root{--fm-blue:#1768ff;--fm-navy:#10205c;--fm-purple:#6438f5;--fm-green:#12a66a;--fm-red:#ef3d3d;--fm-yellow:#ffbe34;--fm-bg:#f7f9fd;--fm-card:#fff;--fm-border:#e5eaf3;--fm-muted:#6f7e9a;--fm-shadow:0 10px 30px rgba(34,58,112,.07)}
.customer-mode.fm-page main{max-width:1800px;padding:18px 16px 28px}.customer-mode.fm-page .customer-heading{display:none}.fm-shell{display:grid;grid-template-columns:280px minmax(0,1fr) 285px;gap:14px;align-items:start}.fm-left,.fm-right{display:grid;gap:14px}.fm-card,.fm-center,.fm-right{background:#fff;border:1px solid var(--fm-border);border-radius:15px;box-shadow:var(--fm-shadow)}.fm-center{overflow:hidden}.fm-card-head{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #edf1f6}.fm-card-head h3{margin:0;color:var(--fm-navy);font-size:19px}.fm-dots{border:0;background:transparent;color:#4f6591;font-size:20px}.fm-tree-card{min-height:500px;overflow:hidden}.fm-tree{padding:10px 8px 15px;max-height:560px;overflow:auto}.fm-tree-row{height:36px;display:flex;align-items:center;border-radius:8px;color:#364b78}.fm-tree-row.active{background:#eef5ff}.fm-tree-row.root{font-weight:800}.fm-tree-toggle,.fm-tree-name{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.fm-tree-toggle{width:24px}.fm-tree-name{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm-tree-row:hover{background:#f5f8fd;color:#1768ff}.fm-quick{padding:0 14px 14px}.fm-quick h3{font-size:18px;color:var(--fm-navy);margin:16px 0 12px}.fm-drop{border:1.5px dashed #c8d7ef;border-radius:12px;min-height:225px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;padding:18px}.fm-drop.drag{border-color:var(--fm-blue);background:#f3f7ff}.fm-cloud{font-size:38px;color:#1781ff}.fm-drop strong{font-size:16px;color:#304776}.fm-drop span{font-size:14px;color:#8793aa}.fm-btn{height:38px;border:1px solid #d7e0ef;border-radius:8px;background:#fff;color:#1759d8;font-weight:750;font-size:14px;padding:0 14px;cursor:pointer}.fm-btn.primary{border:0;background:linear-gradient(100deg,#177cff,#1749f5);color:#fff}.fm-btn.danger{border-color:#ffc9c9;color:#e73333;background:#fff7f7}.fm-breadcrumb{height:58px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid #edf1f6}.fm-crumb{display:flex;align-items:center;gap:7px;color:#1768ff;font-weight:750}.fm-crumb button{border:0;background:transparent;color:#1768ff;font:inherit;cursor:pointer}.fm-crumb span{color:#a4afc2}.fm-toolbar{display:flex;gap:8px;padding:12px 14px;border-bottom:1px solid #edf1f6;overflow:auto}.fm-tool{white-space:pre-line;min-width:72px;height:64px;border:1px solid #dbe4f2;border-radius:9px;background:#fff;color:#25416f;font:inherit;font-size:13px;font-weight:750;cursor:pointer;line-height:1.6}.fm-tool.primary{background:linear-gradient(100deg,#1679ff,#1750f5);color:#fff;border:0}.fm-tool.danger{color:#e73333;border-color:#ffc6c6;background:#fffafa}.fm-tool:disabled{opacity:.38;cursor:not-allowed}.fm-controls{display:grid;grid-template-columns:minmax(260px,1fr) 205px 42px 42px;gap:9px;padding:12px 14px;border-bottom:1px solid #edf1f6}.fm-search,.fm-sort{height:40px;border:1px solid #dbe4f1;border-radius:8px;background:#fff;padding:0 12px;color:#30456f;font:inherit;font-size:14px}.fm-view{border:1px solid #dbe4f1;background:#fff;color:#42618f;border-radius:8px;font-size:20px}.fm-view.active{background:#edf5ff;color:#1768ff}.fm-table{padding:0 14px 12px}.fm-row{display:grid;grid-template-columns:28px minmax(190px,1.3fr) 90px 95px 145px 95px 135px;gap:8px;align-items:center;min-height:51px;border-bottom:1px solid #edf1f6;color:#44597f;font-size:13px}.fm-thead{min-height:42px;background:#f8faff;border-radius:8px 8px 0 0;color:#536789;font-weight:800}.fm-row.selected{background:#f3f7ff}.fm-name{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#28416f;text-align:left;font:inherit;cursor:pointer;min-width:0}.fm-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-type{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;font-size:13px;font-weight:900;flex:0 0 auto}.fm-folder{color:#8f6400;background:#fff3c9;font-size:19px}.fm-image{color:#116ef0;background:#eaf3ff;font-size:20px}.fm-php{color:#6438f5;background:#eee8ff}.fm-html{color:#e84949;background:#fff0f0}.fm-css{color:#1378dc;background:#eaf5ff}.fm-js{color:#8f6a00;background:#fff7cc}.fm-zip{color:#52678d;background:#eef1f6}.fm-pdf{color:#df3a3a;background:#fff0f0}.fm-log,.fm-file{color:#516686;background:#f1f4f8}.fm-row-actions{display:flex;gap:8px;justify-content:flex-end}.fm-row-actions button{border:0;background:transparent;color:#1768ff;font-size:17px;cursor:pointer}.fm-footer{height:48px;display:flex;align-items:center;justify-content:space-between;color:#6e7d99;font-size:13px}.fm-body.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 0}.fm-body.grid .fm-row{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto auto;min-height:135px;border:1px solid #e3e9f3;border-radius:10px;padding:12px}.fm-body.grid .fm-row>span:nth-of-type(n+1),.fm-body.grid .fm-row>span:nth-of-type(n+2){display:none}.fm-body.grid .fm-name{grid-column:1/3}.fm-body.grid .fm-row-actions{grid-column:1/3;justify-content:flex-start}.fm-right{min-height:700px;overflow:hidden;position:sticky;top:84px}.fm-details{padding:18px}.fm-detail-empty{min-height:260px;display:grid;place-items:center;text-align:center;color:#8a96aa;font-size:15px}.fm-preview{height:145px;border-radius:12px;background:#f6f9fd;display:grid;place-items:center;overflow:hidden;margin-bottom:14px}.fm-preview img{max-width:100%;max-height:100%;object-fit:contain}.fm-preview .fm-type{width:76px;height:76px;font-size:23px}.fm-details h2{font-size:20px;color:#10205c;text-align:center;margin:8px 0 16px;word-break:break-word}.fm-meta{display:grid;gap:12px;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;padding:14px 0}.fm-meta div{display:grid;gap:3px}.fm-meta small{color:#7f8ba0;font-size:13px}.fm-meta strong{color:#30466f;font-size:14px;word-break:break-word}.fm-detail-actions{display:grid;gap:8px;margin-top:16px}.fm-detail-actions .fm-btn{width:100%}.fm-modal-back{position:fixed;inset:0;background:rgba(10,23,56,.44);z-index:300;display:grid;place-items:center;padding:20px}.fm-modal{width:min(680px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(15,31,70,.25);padding:18px}.fm-modal-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f6;padding-bottom:12px;margin-bottom:14px}.fm-modal-head h3{margin:0;color:#10205c}.fm-x{border:0;background:transparent;font-size:22px;color:#6f7e98}.fm-field{display:grid;gap:7px;color:#304773;font-size:14px;font-weight:800}.fm-field input{height:42px;border:1px solid #d9e2f0;border-radius:8px;padding:0 11px}.fm-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.fm-editor{width:100%;min-height:430px;resize:vertical;border:1px solid #d8e1ef;border-radius:8px;padding:12px;font:15px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}.fm-warning{padding:10px 12px;background:#fff8e8;border:1px solid #f4dfaa;color:#8b6200;border-radius:8px;font-size:14px;margin-bottom:10px}
@media(max-width:1320px){.fm-shell{grid-template-columns:245px minmax(0,1fr)}.fm-right{grid-column:1/-1;position:static;min-height:auto}.fm-details{display:grid;grid-template-columns:180px 1fr;gap:16px}.fm-preview{margin:0}.fm-detail-actions{grid-column:1/-1;grid-template-columns:repeat(5,1fr)}}
@media(max-width:980px){.fm-shell{grid-template-columns:1fr}.fm-left{grid-template-columns:1fr 1fr}.fm-tree-card{min-height:auto}.fm-tree{max-height:280px}.fm-controls{grid-template-columns:1fr 180px 40px 40px}.fm-row{grid-template-columns:28px minmax(180px,1fr) 80px 90px 120px}.fm-row>span:nth-child(6),.fm-row>div:last-child{display:none}.fm-thead>span:nth-child(6),.fm-thead>span:nth-child(7){display:none}}
@media(max-width:720px){.customer-mode.fm-page main{padding:10px}.fm-left{grid-template-columns:1fr}.fm-quick{display:none}.fm-controls{grid-template-columns:1fr 1fr}.fm-search{grid-column:1/-1}.fm-toolbar{scrollbar-width:none}.fm-row{grid-template-columns:28px minmax(150px,1fr) 72px 80px}.fm-row>span:nth-child(5),.fm-row>span:nth-child(6),.fm-row>div:last-child{display:none}.fm-thead>span:nth-child(5),.fm-thead>span:nth-child(6),.fm-thead>span:nth-child(7){display:none}.fm-body.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fm-details{display:block}.fm-detail-actions{grid-template-columns:1fr 1fr}.fm-footer{align-items:flex-start;gap:8px;flex-direction:column;height:auto;padding:12px 0}.fm-right{border-radius:12px}}.fm-upload-progress{width:100%;height:8px;margin-top:7px;accent-color:#1768ff}
.fm-row[draggable="true"]{cursor:grab}.fm-row.dragging{opacity:.45}.fm-row.drop-target,.fm-tree-row.drop-target,.fm-breadcrumb.drop-target{background:#eaf3ff!important;outline:2px dashed #1768ff;outline-offset:-2px}.fm-tree-row.drop-target{color:#1768ff}.fm-row.drop-target .fm-name{color:#1768ff}
.fm-name[draggable="true"]{cursor:grab;-webkit-user-drag:element;user-select:none}.fm-name[draggable="true"] *{pointer-events:none;user-select:none}.fm-row.drag-ready .fm-name{cursor:grabbing}.fm-row.dragging{opacity:.38;background:#eef5ff}.fm-row.dragging .fm-name{cursor:grabbing}
.fm-form-hint{display:block;margin-top:8px;color:#74839e;font-size:14px}.fm-modal-actions{padding-top:14px;border-top:1px solid #eef1f6}.fm-modal-actions .fm-btn{min-width:112px}.fm-modal-actions .fm-btn.primary{box-shadow:0 7px 16px rgba(23,104,255,.18)}

.customer-mode .fm-tree-row{height:42px}.customer-mode .fm-row{min-height:58px}.customer-mode .fm-tool{min-width:82px;height:70px}.customer-mode .fm-search,.customer-mode .fm-sort{height:44px}.customer-mode .fm-table{overflow-x:auto}.customer-mode .fm-tree-name{font-size:15px}.customer-mode .fm-btn{height:42px}

/* Expanded file manager and contextual actions */
.fm-shell{grid-template-columns:260px minmax(0,1fr)}
.fm-action-menu{position:fixed;z-index:290;width:210px;max-height:calc(100vh - 16px);overflow:auto;padding:6px;background:#fff;border:1px solid #e1e7f1;border-radius:12px;box-shadow:0 12px 38px #10205c26}
.fm-action-menu button{display:block;width:100%;padding:10px 12px;border:0;background:transparent;text-align:left;font:500 15px system-ui;color:#304773;border-radius:7px;cursor:pointer}
.fm-action-menu button:hover,.fm-action-menu button:focus-visible{background:#edf4ff;color:#1768ff;outline:0}.fm-action-menu button.danger{color:#d53333}
.fm-permissions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.fm-permissions>div{background:#f7f9fd;border-radius:9px;padding:12px}.fm-permissions strong{display:block;margin-bottom:10px;color:#304773}.fm-permissions label{display:flex;gap:8px;align-items:center;padding:6px 0;color:#44597f}
@media(max-width:980px){.fm-shell{grid-template-columns:1fr}.fm-row{grid-template-columns:28px minmax(180px,1fr) 80px 90px 120px 135px}.fm-row>div:last-child{display:flex}.fm-thead>span:nth-child(7){display:block}}
@media(max-width:720px){.fm-row{grid-template-columns:28px minmax(150px,1fr) 72px 80px 135px}.fm-row>div:last-child{display:flex}.fm-thead>span:nth-child(7){display:block}.fm-permissions{gap:6px}.fm-permissions>div{padding:8px}}

/* Fill the available workspace; prevent global main styles narrowing the file list. */
body.customer-mode.fm-page main{max-width:none;width:100%;margin:0;box-sizing:border-box}
body.customer-mode.fm-page main.fm-center{padding:0;margin:0;min-width:0;max-width:none;width:100%;align-self:start}
body.customer-mode.fm-page .fm-shell{width:100%;min-width:0}

.fm-select-all{white-space:nowrap;min-height:40px;padding:8px 14px;border:1px solid #d5e5ef;border-radius:10px;background:#fff;color:#145580;font:inherit;font-weight:600;cursor:pointer}.fm-select-all:hover,.fm-select-all[aria-pressed=true]{background:#eaf4fc;border-color:#78b6dd}.fm-select-all:focus-visible{outline:3px solid #60a5fa;outline-offset:2px}.fm-select-all:disabled{opacity:.5;cursor:default}.fm-thead input[type=checkbox]{width:17px;height:17px;accent-color:#176bba}

.fm-controls{grid-template-columns:auto minmax(160px,1fr) 205px 42px 42px}.fm-select-all{width:max-content}@media(max-width:980px){.fm-controls{grid-template-columns:auto minmax(120px,1fr) 180px 40px 40px}}@media(max-width:720px){.fm-controls{grid-template-columns:repeat(2,minmax(0,1fr)) 40px 40px}.fm-select-all,.fm-search{grid-column:1/-1}.fm-sort{grid-column:span 2}}
