/* Polished file actions + adaptive rows */

.file-row{
  min-height:76px;
  align-items:center!important;
}

/* Remove the noisy PNG/BAT/etc label beside the filename. */
.file-sub{display:none!important;}
.file-name{font-size:14px!important;line-height:1.25;}

/* Desktop: one elegant horizontal row of controls. */
.file-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
}
.file-actions .icon-btn{
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:12px!important;
  border:1px solid #303b47!important;
  background:linear-gradient(180deg,#141b23 0%,#0d131a 100%)!important;
  color:#d8dee7!important;
  font-size:17px!important;
  font-weight:750!important;
  line-height:1!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 5px 14px rgba(0,0,0,.18)!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease!important;
}
.file-actions .icon-btn:hover{
  transform:translateY(-1px)!important;
  border-color:rgba(255,139,35,.72)!important;
  background:linear-gradient(180deg,rgba(255,121,0,.20),rgba(255,121,0,.07))!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.24),0 0 16px rgba(255,121,0,.12)!important;
}
.file-actions .icon-btn:active{transform:translateY(0) scale(.97)!important;}
.file-actions .icon-btn[data-action="preview"]{border-color:rgba(255,145,32,.42)!important;color:#ffb45a!important;}
.file-actions .icon-btn[data-action="download"]{color:#ffc76c!important;}
.file-actions .icon-btn[data-action="edit"]{color:#f0f3f7!important;}
.file-actions .icon-btn[data-action="trash"]{color:#aeb7c4!important;}
.file-actions .icon-btn[data-action="trash"]:hover,
.file-actions .icon-btn[data-action="purge"]:hover{
  border-color:rgba(255,82,97,.58)!important;
  background:linear-gradient(180deg,rgba(255,82,97,.16),rgba(255,82,97,.06))!important;
  color:#ff7b87!important;
  box-shadow:0 8px 20px rgba(0,0,0,.24),0 0 14px rgba(255,82,97,.09)!important;
}

/* Large desktop / TV: preserve a clean single-line file row. */
@media(min-width:1281px){
  .file-row{
    grid-template-columns:auto minmax(230px,1.4fr) 80px 150px 66px minmax(342px,auto)!important;
    gap:14px!important;
    padding:14px 16px!important;
  }
}

/* Laptop: move actions to a dedicated second line, still horizontal. */
@media(max-width:1280px) and (min-width:821px){
  .file-row{
    grid-template-columns:auto minmax(0,1fr) 80px 145px!important;
    grid-template-areas:
      "check main size date"
      ". actions actions actions"!important;
    gap:8px 12px!important;
    padding:13px 14px!important;
  }
  .select-box{grid-area:check;}
  .file-main{grid-area:main;}
  .file-size{grid-area:size;}
  .file-date{grid-area:date;}
  .file-downloads{display:none!important;}
  .file-actions{
    grid-area:actions;
    justify-content:flex-start!important;
    min-width:0!important;
    max-width:100%;
    overflow-x:auto;
    padding:2px 0 4px;
    scrollbar-width:none;
  }
  .file-actions::-webkit-scrollbar{display:none;}
}

/* Tablet / phone: compact card row with horizontal actions underneath. */
@media(max-width:820px){
  .topbar{flex-wrap:wrap!important;height:auto!important;gap:8px!important;}
  .topnav{
    order:3;
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    scrollbar-width:none;
  }
  .topnav::-webkit-scrollbar{display:none;}
  .nav-btn{flex:0 0 auto!important;}
  .global-search{display:none!important;}

  .hero-grid{grid-template-columns:1fr!important;}
  .workspace{display:block!important;}
  .sidebar{
    position:static!important;
    max-height:none!important;
    margin-bottom:12px;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
  }
  .sidebar .new-folder{grid-column:1/-1;}
  .side-section-head,.folder-list{display:none!important;}
  .side-item{height:40px!important;grid-template-columns:22px minmax(0,1fr) auto!important;padding:0 8px!important;}

  .content-head{align-items:flex-start!important;flex-direction:column!important;gap:12px!important;}
  .filters{width:100%;overflow-x:auto;flex-wrap:nowrap!important;scrollbar-width:none;}
  .filters::-webkit-scrollbar{display:none;}
  .filter{flex:0 0 auto;}

  .file-row{
    grid-template-columns:28px minmax(0,1fr)!important;
    grid-template-areas:
      "check main"
      ". actions"!important;
    gap:8px 10px!important;
    padding:12px!important;
  }
  .select-box{grid-area:check;}
  .file-main{grid-area:main;}
  .file-size,.file-date,.file-downloads{display:none!important;}
  .file-actions{
    grid-area:actions;
    justify-content:flex-start!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%;
    overflow-x:auto;
    gap:7px!important;
    padding:2px 0 4px;
    scrollbar-width:none;
  }
  .file-actions::-webkit-scrollbar{display:none;}
  .file-actions .icon-btn{
    flex-basis:40px!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    font-size:16px!important;
  }
  .detail-section{grid-template-columns:1fr!important;}
}

/* Small phones */
@media(max-width:520px){
  .page-shell{width:calc(100% - 10px)!important;}
  .sidebar{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px!important;}
  .quick-grid{grid-template-columns:repeat(2,1fr)!important;}
  .upload-zone{min-height:220px!important;}
  .primary.huge{min-width:190px!important;min-height:54px!important;font-size:17px!important;}
  .content-tools{width:100%;}
  .sort-select{margin-left:auto;max-width:170px;}
  .file-row{padding:11px 9px!important;}
  .file-icon{width:44px!important;height:44px!important;flex:0 0 44px!important;}
  .file-name{font-size:13px!important;}
  .file-actions{gap:6px!important;}
  .file-actions .icon-btn{
    flex-basis:38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }
  .action-grid{grid-template-columns:repeat(2,1fr)!important;}
  .info-grid{grid-template-columns:1fr!important;}
}

/* TV / extra-large displays */
@media(min-width:1700px){
  .page-shell{width:min(1650px,calc(100% - 40px))!important;}
  .topbar{min-height:82px!important;padding-left:28px!important;padding-right:28px!important;}
  .brand-copy strong{font-size:20px!important;}
  .nav-btn{height:54px!important;font-size:16px!important;}
  .file-row{min-height:86px;}
  .file-name{font-size:16px!important;}
  .file-actions .icon-btn{
    flex-basis:46px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    font-size:19px!important;
  }
}
