.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.file-title{margin-bottom:10px}.file-breadcrumbs{display:flex;align-items:center;gap:5px;min-height:38px;margin-bottom:14px;padding:7px 9px;border:1px solid var(--line);border-radius:10px;background:#0b0f15;overflow:auto}.file-breadcrumbs button{border:0;background:none;color:var(--muted);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap;padding:4px 6px;border-radius:6px}.file-breadcrumbs button:hover,.file-breadcrumbs button:last-child{color:var(--text);background:var(--surface2)}.file-breadcrumbs i{color:#526074;font-style:normal;font-size:11px}
.file-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.file-actions,.file-view-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.file-view-controls label{display:block}.file-view-controls input{width:min(230px,28vw);height:36px;padding:7px 10px;font-size:12px}.file-view-controls select{width:155px;height:36px;padding:7px 10px;font-size:12px}
.upload-dropzone{display:flex;align-items:center;gap:12px;min-height:66px;margin-bottom:14px;padding:12px 15px;border:1px dashed #3a485b;border-radius:11px;background:rgba(11,15,21,.65);outline:none;transition:border-color .18s,background .18s}.upload-dropzone.dragging,.upload-dropzone:focus{border-color:var(--accent);background:rgba(115,229,161,.06)}.dropzone-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:9px;background:rgba(115,229,161,.11);color:var(--accent);font-size:20px}.upload-dropzone>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.upload-dropzone small{display:block}.upload-state{display:flex;flex-direction:column;gap:5px;margin-left:auto;min-width:220px;color:var(--muted);font-size:11px}.upload-state progress{width:100%;height:7px;accent-color:var(--accent)}
.file-layout{grid-template-columns:minmax(430px,1.15fr) minmax(380px,1fr);align-items:start}.file-browser-column{min-width:0}.file-table-head,.file-entry{display:grid;grid-template-columns:minmax(180px,1fr) 82px 132px 142px;align-items:center;gap:10px}.file-table-head{padding:0 12px 8px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.file-table-head span:last-child{text-align:right}.file-list{margin-top:0;background:#0b0f15}.file-entry{min-height:48px;padding:7px 10px;border-bottom:1px solid var(--line)}.file-entry:last-child{border-bottom:0}.file-entry:hover{background:#111923}.file-name-button{display:flex;align-items:center;gap:9px;min-width:0;border:0;background:none;color:var(--text);padding:4px 2px;font:inherit;font-size:13px;text-align:left;cursor:pointer}.file-name-button:disabled{cursor:default}.file-name-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.file-icon{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:7px;background:#17202b;color:var(--blue);font-size:13px}.file-entry.directory .file-icon{color:var(--accent);background:rgba(115,229,161,.1)}.file-entry.protected .file-icon{color:#ffd166;background:rgba(255,209,102,.1)}.file-size,.file-modified{color:var(--muted);font-size:11px;white-space:nowrap}.file-row-actions{display:flex;justify-content:flex-end;gap:5px}.file-action{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-size:13px}.file-action:hover{border-color:var(--line);background:var(--surface2);color:var(--text)}.file-action.danger:hover{color:var(--danger);border-color:rgba(255,107,119,.3)}.file-action:disabled{opacity:.28;cursor:not-allowed}.file-loading,.file-empty{padding:28px 16px;text-align:center}.file-count{margin:8px 2px 0;font-size:11px}
.editor-panel{min-height:448px;padding:0;border:1px solid var(--line);border-radius:10px;background:#090d12;overflow:hidden}.editor-empty{display:grid;place-items:center;align-content:center;min-height:446px;padding:30px;text-align:center}.editor-empty>span{display:grid;place-items:center;width:54px;height:54px;margin-bottom:14px;border-radius:14px;background:rgba(111,168,255,.09);color:var(--blue);font:700 18px ui-monospace,SFMono-Regular,Consolas,monospace}.editor-empty p{max-width:280px;margin:7px 0}.editor-head{min-height:54px;margin:0;padding:9px 11px;border-bottom:1px solid var(--line);background:#10161e}.editor-head>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.editor-head strong{max-width:390px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.editor-head #editor-status{font-size:10px}.editor-head #editor-status.dirty{color:#ffd166}.editor-actions{display:flex;gap:6px}.editor-panel textarea{display:block;min-height:350px;height:350px;max-height:65vh;padding:14px;border:0;border-radius:0;background:#070a0e;box-shadow:none;resize:vertical;tab-size:2}.editor-footer{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.file-security-note{margin:14px 2px 0;font-size:11px}
@media(max-width:1180px){.file-layout{grid-template-columns:1fr}.editor-panel{min-height:380px}.editor-empty{min-height:378px}.file-toolbar{align-items:stretch;flex-direction:column}.file-view-controls input{width:min(100%,300px)}}
@media(max-width:700px){.file-table-head,.file-entry{grid-template-columns:minmax(140px,1fr) 116px}.file-table-head span:nth-child(2),.file-table-head span:nth-child(3),.file-size,.file-modified{display:none}.file-view-controls{display:grid;grid-template-columns:1fr 1fr}.file-view-controls input,.file-view-controls select{width:100%}.upload-dropzone{align-items:flex-start}.upload-state{width:100%;min-width:0;margin:8px 0 0}.upload-dropzone{flex-wrap:wrap}.editor-head{align-items:flex-start;gap:8px;flex-direction:column}.editor-actions{width:100%}.editor-actions .button{flex:1}}
@media(max-width:430px){.file-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.file-actions .button{width:100%}.file-view-controls{grid-template-columns:1fr}.file-table-head,.file-entry{grid-template-columns:minmax(120px,1fr) 105px}.file-row-actions{gap:1px}.file-action{width:25px}.editor-footer span:last-child{display:none}}
