/* Drive is a file workspace: navigation on the left, the open folder on the right. */
body.drive-active {
  --drive-bg:#101016; --drive-surface:#181820; --drive-elevated:#22222e;
  --drive-hover:#282532; --drive-selected:#392d51; --drive-border:#353340;
  --drive-row-border:#2a2834; --drive-card:#20202b; --drive-thumbnail:#292633;
  --drive-text:#eeedf5; --drive-muted:#b6b1c4; --drive-dim:#a49db5;
  --drive-accent:#c9b1f5; --drive-focus:#b899e5; --drive-accent-edge:#70558f;
  --drive-folder-fill:#3b2d51; --drive-folder-stroke:#c0a3e5;
  --drive-glyph-fill:#25324b; --drive-glyph-stroke:#abc2f6;
  --drive-overlay:#1b1b26ed; --drive-primary:#8055c1; --drive-checkbox:#b793ee;
  --drive-success:#72d9b5; --drive-link:#9abcff; --drive-error:#f2a3b3; --drive-toast:#2c2637;
 background:var(--drive-bg); color:var(--drive-text); color-scheme:dark; --fg-snow:var(--drive-text); --fg-silver:var(--drive-text); --fg-ash:var(--drive-muted); --fg-smoke:var(--drive-muted); --fg-shadow:var(--drive-muted); --bg-slate:var(--drive-elevated); --accent-violet:var(--drive-accent); --accent-cyan:var(--drive-success); --accent-azure:var(--drive-link); --iris-90:var(--drive-accent); }
.drive-active #view-app { min-height:100dvh; background:var(--drive-bg); color:var(--drive-text); }
.drive-active #view-app .topbar { position:sticky; top:0; z-index:70; border:0; background:var(--drive-bg); backdrop-filter:none; }
.drive-active #view-app .topbar-inner { max-width:none; min-height:76px; height:76px; grid-template-columns:224px minmax(180px,720px) 1fr; gap:18px; padding:12px 24px; }
.drive-active #view-app .brand { gap:10px; width:max-content; color:var(--drive-text); }
.drive-active #view-app .brand img { filter:none; width:28px; height:28px; }
.drive-active #view-app .brand-name { font-size:23px; letter-spacing:-1px; }
.drive-active #view-app .brand-pill { border:0; background:none; font:400 22px/1.2 'Geist',sans-serif; color:var(--drive-muted); padding:0; margin-left:2px; }
.drive-active #view-app #search-wrap { max-width:none; width:100%; margin:0; padding:0 18px; height:50px; display:flex; align-items:center; border:0; border-radius:28px; background:var(--drive-elevated); box-shadow:none; }
.drive-active #view-app #search-wrap:focus-within { background:var(--drive-surface); box-shadow:0 1px 6px #00000050; }
.drive-active #view-app .search-wrap > svg { width:20px; height:20px; color:var(--drive-muted); flex:none; }
.drive-active #view-app #file-search { width:100%; height:48px; padding:0 12px; color:var(--drive-text); font:400 16px/1.5 'Geist',sans-serif; background:transparent; border:0; box-shadow:none; }
.drive-active #file-search::placeholder { color:var(--drive-muted); }
.drive-active #view-app .topbar-actions { justify-content:flex-end; gap:16px; }
.drive-active #view-app .topbar-tools { gap:4px; }
.drive-active #view-app .icon-btn, .drive-icon-button { display:inline-flex; align-items:center; justify-content:center; flex:none; width:36px; height:36px; padding:8px; border:0; border-radius:50%; background:transparent; color:var(--drive-muted); cursor:pointer; font:400 23px/1 'Geist',sans-serif; }
.drive-active #view-app .icon-btn:hover, .drive-icon-button:hover { background:var(--drive-hover); color:var(--drive-text); }
.drive-icon-button svg, .drive-nav-item svg, .drive-svg { width:20px; height:20px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.drive-avatar { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:var(--drive-selected); color:var(--drive-accent); font-size:14px; font-weight:600; }
.drive-workspace { padding:0 14px 14px 0; }
.drive-sidebar { position:fixed; top:76px; bottom:0; left:0; width:248px; display:flex; flex-direction:column; padding:10px 14px 20px; gap:4px; overflow-y:auto; scrollbar-width:thin; background:var(--drive-bg); z-index:60; }
.drive-new { display:flex; align-items:center; gap:14px; width:max-content; min-width:122px; padding:14px 22px 14px 16px; margin:0 0 20px 4px; border:0; border-radius:16px; background:var(--drive-surface); box-shadow:0 1px 3px #00000040; color:var(--drive-text); cursor:pointer; font:500 15px/1.5 'Geist',sans-serif; }
.drive-new:hover { box-shadow:0 3px 8px #00000066; background:var(--drive-hover); }
.drive-new > span { font-size:30px; line-height:1; font-weight:300; }
.drive-nav { display:flex; flex-direction:column; gap:3px; }
.drive-nav-item { display:flex; align-items:center; gap:13px; min-height:42px; width:100%; min-width:0; padding:9px 16px; border:0; border-radius:24px; background:transparent; color:var(--drive-text); text-align:left; cursor:pointer; font:400 14px/1.4 'Geist',sans-serif; }
.drive-nav-item > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.drive-nav-item:hover { background:var(--drive-hover); }
.drive-nav-item[aria-current=page], .drive-nav-item[aria-pressed=true] { background:var(--drive-selected); color:var(--drive-accent); font-weight:600; }
.drive-sidebar-section { display:flex; align-items:center; justify-content:space-between; padding:15px 10px 4px 17px; font-size:12px; font-weight:600; color:var(--drive-muted); }
.drive-sidebar-section .drive-icon-button { width:28px; height:28px; padding:4px; }
.drive-sidebar-labels { display:flex; flex-direction:column; gap:3px; }
.drive-sidebar-labels .drive-nav-item { font-size:13px; }
.drive-sidebar-labels .drive-label-dot { width:10px; height:10px; border:2px solid var(--drive-folder-stroke); border-radius:3px; margin:0 5px; flex:none; }
.drive-label-count { margin-left:auto; font-size:11px; color:var(--drive-muted); }
.drive-tree { margin:2px 0 10px; }
.drive-tree-row { display:flex; align-items:center; min-width:0; border-radius:20px; }
.drive-tree-row:hover { background:var(--drive-hover); }
.drive-tree-row.active { background:var(--drive-selected); color:var(--drive-accent); }
.drive-tree-expand { flex:none; width:22px; height:32px; padding:3px; border:0; background:none; cursor:pointer; color:var(--drive-muted); font-size:15px; }
.drive-tree-link { border:0; background:none; padding:8px 10px 8px 0; display:flex; gap:8px; align-items:center; text-align:left; cursor:pointer; min-width:0; flex:1; color:inherit; font:400 13px/1.5 'Geist',sans-serif; }
.drive-tree-link svg { width:17px; height:17px; }
.drive-tree-link span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.drive-tree-level { margin-left:13px; }
.drive-tree-badge { margin-left:auto; color:var(--drive-dim); font-size:9px; letter-spacing:.03em; }
.drive-sidebar-bottom { margin-top:auto; padding-top:26px; }
.drive-active #view-app .stats-strip { display:flex; flex-direction:column; gap:10px; margin:17px 15px 0; padding:17px 0 0; border:0; border-top:1px solid var(--drive-border); border-radius:0; background:none; align-items:stretch; }
.drive-active #view-app .stats-strip .stat:first-child, .drive-active #view-app .stats-strip .stat:nth-child(3) { display:none; }
.drive-active #view-app .stat-label { color:var(--drive-muted); font:500 12px/1.6 'Geist',sans-serif; letter-spacing:0; text-transform:none; }
.drive-active #view-app .stat-value { color:var(--drive-text); font:400 12px/1.6 'Geist',sans-serif; letter-spacing:0; }
.drive-active #view-app #storage-detail { color:var(--drive-muted); font-size:11px; line-height:1.5; }
.drive-active #view-app .quota-track { width:70px; height:4px; background:var(--drive-border); }
.drive-active #library-connection { background:none; border:0; padding:0; margin:0; height:auto; min-height:20px; justify-content:flex-start; font-size:10px; }
.drive-active #library-connection .status-dot { width:5px; height:5px; box-shadow:none; }
.drive-destination { color:var(--drive-dim); font-size:10px; line-height:1.6; margin:10px 15px 0; overflow-wrap:anywhere; }
.drive-active main#app-main.shell { max-width:none; width:auto; margin:0 0 0 248px; min-height:calc(100dvh - 90px); padding:24px 28px 40px; border-radius:22px; background:var(--drive-surface); }
.drive-content-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:16px; }
.drive-heading { min-width:0; }
.drive-heading h1 { margin:0; color:var(--drive-text); font:400 25px/1.4 'Geist',sans-serif; letter-spacing:-.6px; overflow-wrap:anywhere; }
.drive-heading-sub { display:block; color:var(--drive-dim); font-size:12px; line-height:1.6; margin-top:3px; }
.drive-header-actions { display:flex; align-items:center; gap:12px; padding-top:2px; }
.drive-view-switch { display:flex; align-items:center; padding:2px; border:1px solid var(--drive-border); border-radius:22px; }
.drive-view-switch .drive-icon-button { width:35px; height:30px; border-radius:18px; padding:7px; }
.drive-view-switch [aria-pressed=true] { background:var(--drive-selected); color:var(--drive-accent); }
.drive-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:var(--drive-muted); font-size:12px; min-height:20px; margin-bottom:17px; }
.drive-crumb { border:0; background:none; color:var(--drive-muted); font:400 12px/1.5 'Geist',sans-serif; padding:0; text-align:left; overflow-wrap:anywhere; cursor:pointer; }
.drive-crumb:last-child, .drive-crumb[aria-current=page] { color:var(--drive-accent); font-weight:500; }
.drive-crumb:hover { text-decoration:underline; }
.drive-active #library-toolbar { gap:10px; margin:0 0 20px; display:flex; flex-wrap:wrap; align-items:center; }
.drive-active #chips { gap:7px; flex:1; }
.drive-active #chips .chip { padding:6px 10px; min-height:32px; border:1px solid var(--drive-border); border-radius:8px; background:transparent; box-shadow:none; color:var(--drive-muted); font:400 12px/1.4 'Geist',sans-serif; text-transform:none; letter-spacing:0; }
.drive-active #chips .chip.active { border-color:var(--drive-accent-edge); background:var(--drive-selected); color:var(--drive-accent); }
.drive-active #chips .cnt { color:var(--drive-dim); font-size:10px; }
.drive-active #file-sort { color:var(--drive-muted); min-height:32px; max-width:155px; font:400 12px/1.5 'Geist',sans-serif; background:var(--drive-surface); border:0; border-radius:6px; padding:5px 8px; }
.drive-selection { display:flex; align-items:center; gap:10px; padding:7px 12px; border-radius:9px; background:var(--drive-selected); margin:0 0 12px; min-height:48px; }
#drive-selection-count { font-size:13px; color:var(--drive-accent); margin-right:auto; }
.drive-active #app-main .btn-mini { border:1px solid var(--drive-border); background:var(--drive-surface); color:var(--drive-accent); border-radius:7px; font:500 12px/1.4 'Geist',sans-serif; letter-spacing:0; text-transform:none; padding:7px 11px; min-height:32px; }
.drive-active #app-main .btn-mini:hover { background:var(--drive-hover); }
.drive-active #app-main .btn-mini:disabled { opacity:.5; cursor:default; }
.drive-list-head { display:grid; grid-template-columns:38px minmax(160px,1fr) 112px 104px 132px 76px; align-items:center; gap:8px; min-height:43px; border-bottom:1px solid var(--drive-border); color:var(--drive-muted); font-size:11px; padding:0 4px; }
.drive-all-check { display:grid; place-items:center; }
.drive-all-check input, .drive-check { width:15px; height:15px; accent-color:var(--drive-checkbox); cursor:pointer; }
.drive-column-name { padding:0 0 0 48px; border:0; background:none; color:var(--drive-muted); text-align:left; font:500 12px/1.5 'Geist',sans-serif; cursor:pointer; }
.drive-column-name span { padding-left:8px; color:var(--drive-dim); }
.drive-active #file-grid { display:block; gap:0; }
.drive-active #file-grid .fcard, .drive-folder { display:grid; grid-template-columns:38px 36px minmax(120px,1fr) 112px 104px 132px 76px; align-items:center; column-gap:8px; min-height:59px; position:relative; margin:0; padding:4px; border:0; border-bottom:1px solid var(--drive-row-border); border-radius:0; background:var(--drive-surface); box-shadow:none; transform:none; cursor:default; }
.drive-active #file-grid .fcard:hover, .drive-folder:hover { background:var(--drive-hover); box-shadow:none; transform:none; }
.drive-active #file-grid .fcard.drive-selected { background:var(--drive-selected); outline:0; }
.drive-active #file-grid .fcard:focus-visible { outline:2px solid var(--drive-focus); outline-offset:-2px; }
.drive-active #file-grid .thumb-wrap { grid-column:2; width:32px; height:34px; align-self:center; }
.drive-active #file-grid .fthumb { width:32px; height:34px; min-height:0; padding:0; aspect-ratio:auto; border:0; border-radius:4px; background:var(--drive-thumbnail); overflow:hidden; }
.drive-active #file-grid .fthumb img { object-fit:cover; width:100%; height:100%; }
.drive-active #file-grid .fthumb .type-tag { font-size:8px; letter-spacing:0; color:var(--drive-accent); }
.drive-active #file-grid .fthumb .exp-tag, .drive-active #file-grid .fthumb .media-fallback { display:none; }
.drive-active #file-grid .thumb-retry { position:absolute; left:2px; bottom:0; right:auto; font-size:8px; padding:1px; min-height:18px; width:30px; z-index:4; }
.drive-active #file-grid .fmeta { grid-column:3; padding:3px 4px; min-width:0; display:flex; flex-direction:column; gap:3px; align-self:center; }
.drive-active #file-grid .fmeta .name { color:var(--drive-text); font:400 13px/1.6 'Geist',sans-serif; white-space:pre; overflow:hidden; text-overflow:ellipsis; overflow-wrap:normal; }
.drive-active #file-grid .fmeta .details { display:none; }
.drive-check-wrap { position:relative; grid-column:1; grid-row:1; display:grid; place-items:center; width:100%; height:32px; cursor:pointer; z-index:3; }
.drive-file-labels { display:flex; flex-wrap:wrap; gap:4px; }
.drive-file-labels span { font-size:10px; line-height:1.4; border-radius:4px; padding:1px 5px; background:var(--drive-selected); color:var(--drive-accent); max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.drive-cell { color:var(--drive-dim); font-size:11px; line-height:1.6; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.drive-cell-type { grid-column:4; }.drive-cell-size { grid-column:5; }.drive-cell-date { grid-column:6; }
.drive-row-actions { grid-column:7; display:flex; gap:0; justify-content:flex-end; align-items:center; }
.drive-active #file-grid .copy-mini, .drive-active #file-grid .drive-row-more { width:32px; height:32px; min-height:0; padding:7px; color:var(--drive-dim); border:0; background:none; border-radius:50%; }
.drive-active #file-grid .copy-mini:hover, .drive-active #file-grid .drive-row-more:hover { background:var(--drive-hover); }
.drive-folders { margin:0; }
.drive-folder-open { grid-column:2 / 4; display:flex; align-items:center; gap:16px; border:0; background:none; padding:0; min-width:0; text-align:left; cursor:pointer; color:var(--drive-text); font:400 13px/1.5 'Geist',sans-serif; }
.drive-folder-icon { display:grid; place-items:center; width:36px; height:36px; flex:none; color:var(--drive-accent); }
.drive-folder-icon svg { fill:var(--drive-folder-fill); stroke:var(--drive-folder-stroke); width:29px; height:29px; stroke-width:1.3; }
.drive-folder-name { display:flex; gap:9px; align-items:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.drive-api-badge { font-size:9px; font-weight:500; padding:1px 5px; border-radius:4px; color:var(--drive-accent); background:var(--drive-selected); flex:none; }
.drive-folder .drive-cell-type { color:var(--drive-dim); }
.drive-folder > .drive-folder-edit { grid-column:7; justify-self:end; }
.drive-active #app-main .library-feedback { margin:12px 0 4px; }
.drive-active #app-main .library-feedback:has(#library-status:empty) { margin:0; }
.drive-active #app-main #library-status { color:var(--drive-dim)!important; font-size:11px!important; }
.drive-active #app-main .pagination { margin-top:20px; color:var(--drive-dim); font-size:12px; }
.drive-active #app-main .app-footer { display:none; }
.drive-active #app-main .empty-state { padding:55px 12px 65px; min-height:240px; color:var(--drive-muted); }
.drive-active #app-main .empty-state img { filter:none; opacity:.25; width:35px; }
.drive-active #app-main .empty-state h3 { color:var(--drive-accent); font-size:18px; font-weight:400; }
.drive-active #app-main .empty-state p { color:var(--drive-dim); font-size:13px; max-width:360px; }
.drive-active #app-main .empty-state .btn-primary, .drive-active #app-main .empty-state .btn-violet { min-height:36px; padding:9px 13px; font-size:12px; }
.drive-workspace[data-layout=grid] .drive-list-head { display:none; }
.drive-workspace[data-layout=grid] .drive-folders { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px; margin:15px 0 22px; }
.drive-workspace[data-layout=grid] .drive-folder { display:flex; min-height:64px; padding:10px 12px; border:1px solid var(--drive-border); border-radius:11px; gap:9px; background:var(--drive-card); }
.drive-workspace[data-layout=grid] .drive-folder-open { flex:1; gap:10px; }
.drive-workspace[data-layout=grid] .drive-folder .drive-cell { display:none; }
.drive-workspace[data-layout=grid] #file-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(205px,1fr)); gap:14px; margin-top:12px; }
.drive-workspace[data-layout=grid] #file-grid .fcard { display:flex; flex-direction:column; gap:0; border:1px solid var(--drive-border); border-radius:12px; padding:8px; overflow:hidden; background:var(--drive-card); }
.drive-workspace[data-layout=grid] #file-grid .thumb-wrap { width:100%; height:auto; }
.drive-workspace[data-layout=grid] #file-grid .fthumb { width:100%; height:150px; border-radius:7px; }
.drive-workspace[data-layout=grid] #file-grid .fmeta { padding:10px 5px 4px; width:100%; }
.drive-workspace[data-layout=grid] #file-grid .fmeta .details { display:flex; margin-top:5px; }
.drive-workspace[data-layout=grid] #file-grid .fmeta .sub { font:400 11px/1.5 'Geist',sans-serif; color:var(--drive-dim); }
.drive-workspace[data-layout=grid] .drive-check-wrap { position:absolute; top:12px; left:12px; width:28px; height:28px; background:var(--drive-overlay); border-radius:5px; }
.drive-workspace[data-layout=grid] .drive-cell { display:none; }
.drive-workspace[data-layout=grid] .drive-row-actions { position:absolute; top:12px; right:12px; border-radius:20px; background:var(--drive-overlay); }
.drive-workspace[data-layout=grid] #file-grid .fcard.drive-selected { border-color:var(--drive-focus); box-shadow:0 0 0 1px var(--drive-focus); }
.drive-menu { position:fixed; z-index:350; min-width:210px; max-width:calc(100vw - 20px); padding:7px 0; border:1px solid var(--drive-border); border-radius:10px; box-shadow:0 5px 25px #00000080; background:var(--drive-surface); color:var(--drive-text); }
.drive-menu button { display:flex; align-items:center; gap:13px; width:100%; border:0; border-radius:0; padding:11px 18px; color:inherit; background:none; text-align:left; font:400 13px/1.6 'Geist',sans-serif; cursor:pointer; }
.drive-menu button:hover, .drive-menu button:focus { background:var(--drive-hover); outline:0; }
.drive-active #app-main .upload-panel { position:fixed; z-index:110; bottom:18px; right:28px; width:390px; max-width:calc(100vw - 28px); max-height:min(520px,70dvh); overflow:auto; border:1px solid var(--drive-border); border-radius:12px; box-shadow:0 5px 30px #00000075; padding:16px; margin:0; background:var(--drive-surface); }
.drive-active #app-main .upload-heading { gap:6px; }
.drive-active #app-main .upload-heading h2 { color:var(--drive-accent); font-size:14px; margin-right:auto; }
.drive-active #app-main .upload-heading .upload-actions { display:none; }
.drive-active #app-main .upload-panel:not(.drive-transfers-collapsed) .upload-heading .upload-actions { display:flex; flex-basis:100%; padding-top:7px; }
.drive-active #app-main .upload-panel .upload-summary, .drive-active #app-main .upload-panel .upload-note { color:var(--drive-dim); }
.drive-active #app-main .upload-panel .upload-filename { color:var(--drive-accent); }
.drive-active #app-main .upload-panel .upload-detail { color:var(--drive-dim); }
.drive-active #app-main .upload-list { max-height:270px; overflow:auto; }
.drive-active #app-main .upload-panel.drive-transfers-collapsed > :not(.upload-heading) { display:none!important; }
.drive-active .modal { background:var(--drive-surface); border-color:var(--drive-border); color:var(--drive-text); box-shadow:0 12px 45px #00000066; }
.drive-active .modal-header { background:var(--drive-surface); border-color:var(--drive-border); }
.drive-active .modal-close { color:var(--drive-muted); background:var(--drive-elevated); border-color:var(--drive-border); }
.drive-active .modal :is(.input,.select,textarea) { background:var(--drive-elevated); border-color:var(--drive-border); color:var(--drive-text); }
.drive-active .modal .hint { color:var(--drive-dim); }
.drive-active .modal .btn-mini { background:var(--drive-surface); border-color:var(--drive-border); color:var(--drive-accent); }
.drive-active :is(.modal,.empty-state) .btn-primary { color:var(--drive-text); background:var(--drive-primary); border-color:var(--drive-primary); }
.drive-field { display:flex; flex-direction:column; gap:8px; margin:16px 0; color:var(--fg-silver); font-size:13px; }
.drive-input { width:100%; max-width:100%; }
.drive-toggle { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--fg-silver); margin-top:18px; }
#drive-dialog-status, #drive-status { font-size:12px; line-height:1.6; color:var(--drive-error); overflow-wrap:anywhere; }
#drive-status:empty { display:none; }
#drive-modal .modal { max-width:520px; }
#drive-dialog-form { padding:18px 24px 24px; }
#drive-modal h2 { margin:0; font-size:18px; }
#drive-modal .hint { font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.drive-modal-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
.drive-mobile-menu, .drive-mobile-new, .drive-mobile-close, .drive-sidebar-scrim { display:none; }
.drive-active .drive-menu, .drive-active :is(a,button,input,select,textarea):focus-visible { outline-color:var(--drive-focus); }
@media(max-width:1150px) {
 .drive-active #view-app .topbar-inner { grid-template-columns:212px minmax(180px,1fr) auto; padding-inline:18px; gap:12px; }
 .drive-sidebar { width:230px; }
 .drive-active main#app-main.shell { margin-left:230px; padding:22px 20px 32px; }
 .drive-list-head { grid-template-columns:32px minmax(150px,1fr) 90px 78px 106px 65px; gap:5px; }
 .drive-active #file-grid .fcard, .drive-folder { grid-template-columns:32px 30px minmax(115px,1fr) 90px 78px 106px 65px; gap:5px; }
 .drive-cell, .drive-list-head { font-size:10px; }
}
@media(max-width:960px) {
 .drive-active main#app-main.shell { padding-inline:16px; }
 .drive-list-head { grid-template-columns:30px minmax(140px,1fr) 85px 85px 65px; }
 .drive-list-head > span:nth-last-child(3) { display:none; }
 .drive-active #file-grid .fcard, .drive-folder { grid-template-columns:30px 30px minmax(100px,1fr) 85px 85px 65px; }
 .drive-cell-size { display:none; }.drive-cell-date { grid-column:5; }.drive-row-actions,.drive-folder > .drive-folder-edit { grid-column:6; }
}
@media(max-width:800px) {
 .drive-active #view-app .topbar-inner { grid-template-columns:32px minmax(0,1fr) auto; height:auto; min-height:112px; gap:5px 10px; padding:8px 14px; }
 .drive-active #view-app .brand { grid-column:2; grid-row:1; }
 .drive-active #view-app .brand-name { font-size:20px; }
 .drive-active #view-app .brand img { width:22px; height:22px; }
 .drive-active #view-app .brand-pill { font-size:19px; }
 .drive-active #view-app .topbar-actions { grid-column:3; grid-row:1; gap:5px; }
 .drive-active #view-app #search-wrap { grid-column:1 / -1; grid-row:2; height:42px; padding-inline:12px; }
 .drive-active #view-app #file-search { height:40px; font-size:14px; }
 .drive-active #view-app .topbar-tools { gap:0; }
 .drive-active #view-app .topbar-tools .icon-btn { width:30px; height:30px; padding:7px; }
 .drive-mobile-menu,.drive-mobile-new { display:inline-flex; }
 .drive-mobile-new { background:var(--drive-selected); color:var(--drive-accent); width:32px; height:32px; }
 .drive-mobile-menu { grid-column:1; grid-row:1; width:32px; height:32px; }
 .drive-avatar { display:none; }
 .drive-workspace { padding:0 8px 8px; }
 .drive-active main#app-main.shell { margin:0; padding:20px 16px 30px; border-radius:16px; min-height:calc(100dvh - 120px); }
 .drive-sidebar { top:0; width:270px; z-index:200; transform:translateX(-100%); padding:18px 14px; transition:transform .18s ease; box-shadow:5px 0 25px #00000075; }
 .drive-sidebar-open .drive-sidebar { transform:translateX(0); }
 .drive-mobile-close { display:inline-flex; margin-left:auto; }
 .drive-sidebar-open .drive-sidebar-scrim { display:block; position:fixed; inset:0; z-index:190; background:#00000099; border:0; }
 .drive-heading h1 { font-size:22px; }
 .drive-heading-sub { font-size:11px; }
 .drive-header-actions { gap:4px; }
 .drive-header-actions > .drive-icon-button { display:none; }
 .drive-active #library-toolbar { gap:4px; margin-bottom:14px; }
 .drive-active #chips { gap:5px; flex-wrap:wrap; }
 .drive-active #chips .chip { padding:5px 7px; font-size:11px; min-height:27px; }
 .drive-active #chips .cnt { display:none; }
 .drive-active #file-sort { margin-left:auto; font-size:11px; max-width:125px; }
 .drive-active #app-main .upload-panel { bottom:10px; right:10px; }
}
@media(max-width:600px) {
 .drive-active #view-app .brand-pill { display:none; }
 .drive-active main#app-main.shell { padding:17px 12px 24px; }
 .drive-list-head { grid-template-columns:26px minmax(100px,1fr) 64px; }
 .drive-list-head > span { display:none; }
 .drive-active #file-grid .fcard, .drive-folder { grid-template-columns:26px 29px minmax(80px,1fr) 64px; gap:5px; min-height:63px; }
 .drive-cell { display:none; }
 .drive-row-actions,.drive-folder > .drive-folder-edit { grid-column:4; }
 .drive-column-name { padding-left:38px; }
 .drive-active #file-grid .fmeta .name { font-size:12px; }
 .drive-api-badge { font-size:8px; padding:1px 4px; }
 .drive-selection { flex-wrap:wrap; gap:6px; padding:7px; }
 .drive-selection .btn-mini { font-size:11px!important; padding:5px 7px!important; }
 #drive-selection-count { font-size:12px; }
 .drive-workspace[data-layout=grid] #file-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 .drive-workspace[data-layout=grid] #file-grid .fthumb { height:110px; }
 .drive-workspace[data-layout=grid] .drive-folders { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { .drive-sidebar { transition:none; } }
@media(forced-colors:active) {
 .drive-nav-item[aria-current=page],.drive-tree-row.active { outline:1px solid Highlight; }
 .drive-active #file-grid .fcard.drive-selected { outline:2px solid Highlight; }
 .drive-active #file-grid .fcard,.drive-folder,.drive-menu { border:1px solid ButtonText; }
}
[hidden] { display:none !important; }

.drive-active #toast { background:var(--drive-toast); color:#f9f4ff; border-color:var(--drive-border); }
.drive-active #toast-dismiss { color:var(--drive-accent); }
.drive-heading h1:focus { outline:0; }
.drive-heading h1:focus-visible { outline:2px solid var(--drive-focus); outline-offset:3px; border-radius:3px; }
.drive-active #admin-main .panel { background:var(--drive-surface); border-color:var(--drive-border); }
.drive-active #admin-main :is(.input,.select) { background:var(--drive-surface); color:var(--drive-text); border-color:var(--drive-border); }

.drive-active #view-app #search-wrap > svg { position:static; left:auto; top:auto; transform:none; }
.drive-active #library-toolbar { justify-content:space-between; }
.drive-filter { padding:7px 28px 7px 12px; border:1px solid var(--drive-border); border-radius:8px; background:var(--drive-surface); color:var(--drive-muted); font:400 12px/1.5 'Geist',sans-serif; cursor:pointer; min-width:100px; max-width:210px; }
.drive-active #file-grid .fmeta .name, .drive-folder-open { font-size:14px; }
.drive-active #file-grid .drive-cell { font-size:12px; }
.drive-file-glyph { position:absolute; inset:0; display:grid; place-items:center; color:var(--drive-glyph-stroke); }
.drive-file-glyph svg { width:25px; height:29px; fill:var(--drive-glyph-fill); stroke-width:1.4; }
.drive-active #file-grid .fthumb:has(.drive-file-glyph) .type-tag { display:none; }
.drive-workspace[data-layout=grid] #file-grid .drive-file-glyph svg { width:47px; height:53px; }
@media(max-width:600px) { .drive-active #file-grid .fmeta .name, .drive-folder-open { font-size:13px; } .drive-filter { max-width:170px; font-size:11px; } }

/* Direct manipulation keeps the target visible while dragging. */
.drive-folder-check { grid-column:1; grid-row:1; display:grid; place-items:center; height:32px; z-index:3; }
.drive-folder-check input { width:15px; height:15px; accent-color:var(--drive-checkbox); cursor:pointer; }
.drive-folder.drive-selected { background:var(--drive-selected); }
.drive-workspace[data-layout=grid] .drive-folder-check { flex:none; width:24px; }
#file-grid .fcard[draggable=true], .drive-folder[draggable=true] { cursor:grab; }
#file-grid .drive-drag-source, .drive-folder.drive-drag-source { opacity:.45; }
.drive-drop-target { outline:2px solid var(--drive-focus)!important; outline-offset:-2px; background-color:var(--drive-selected)!important; border-radius:8px; }
#app-main.drive-drop-target { outline-offset:-5px; background-color:var(--drive-surface)!important; }
.drive-drag-ghost { position:fixed; left:-10000px; top:0; display:flex; gap:10px; align-items:center; max-width:300px; padding:12px 17px; border:1px solid var(--drive-accent-edge); border-radius:10px; background:var(--drive-selected); color:var(--drive-text); font:500 13px/1.4 'Geist',sans-serif; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; }
#drive-drop-hint { position:fixed; z-index:220; bottom:24px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 28px); padding:12px 18px; background:var(--drive-elevated); border:1px solid var(--drive-accent-edge); border-radius:12px; box-shadow:0 5px 24px #0007; color:var(--drive-text); font-size:13px; line-height:1.6; overflow-wrap:anywhere; pointer-events:none; }
#drive-drop-hint[data-allowed=false] { color:var(--drive-error); border-color:var(--drive-error); }
#drive-drop-feedback { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 14px; padding:8px 12px; border:1px solid var(--drive-border); border-radius:9px; color:var(--drive-muted); font-size:12px; }
#drive-drop-message { flex:1; min-width:150px; overflow-wrap:anywhere; }
#drive-drop-feedback[data-state=error] { color:var(--drive-error); border-color:var(--drive-error); }
#drive-drop-feedback[data-state=busy] { color:var(--drive-accent); }
@media(forced-colors:active) { .drive-drop-target { outline-color:Highlight!important; } }
