/* ===== Activities overview, search, app grid ===== */

#overview {
  position:fixed; inset:0; z-index:8000; display:none;
  flex-direction:column;
}
#overview.show { display:flex; }
#overview .ov-bg {
  position:absolute; inset:0;
  background:rgba(14,6,20,.62);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  opacity:0; transition:opacity .2s ease;
}
#overview.show .ov-bg { opacity:1; }

/* search entry */
#ov-search-wrap {
  position:relative; z-index:5; display:flex; justify-content:center;
  padding:14px 16px 4px; transform:translateY(-56px); opacity:0;
  transition:transform .22s cubic-bezier(.3,.9,.35,1), opacity .18s ease;
}
#overview.show.search-mode #ov-search-wrap { transform:translateY(0); opacity:1; }
#overview.show #ov-search-wrap { transform:translateY(0); opacity:1; }
#ov-search {
  width:min(480px, 86vw); height:38px; border-radius:99px; border:none; outline:none;
  background:rgba(255,255,255,.14); color:#fff; font-size:14.5px; padding:0 18px 0 42px;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
  transition:background .15s ease, box-shadow .15s ease;
}
#ov-search:focus { background:rgba(255,255,255,.2); box-shadow:inset 0 0 0 2px var(--accent), 0 0 14px rgba(0,0,0,.3); }
#ov-search::placeholder { color:rgba(255,255,255,.65); }
#ov-search-icon { position:absolute; top:50%; transform:translateY(calc(-50% + 9px)); left:calc(50% - min(240px,43vw) + 14px); width:17px; height:17px; fill:rgba(255,255,255,.75); pointer-events:none; }

/* window spread area */
#ov-windows { position:absolute; inset:0; z-index:1; }
.ov-thumb {
  position:absolute; border-radius:10px; overflow:hidden; cursor:pointer;
  outline:none; transition:outline-color .12s ease;
  background:var(--win-bg);
}
.ov-thumb:hover .ov-thumb-frame, .ov-thumb.selected .ov-thumb-frame { outline:3px solid rgba(255,255,255,.85); }
.ov-thumb-frame { position:absolute; inset:0; border-radius:10px; pointer-events:none; }
.ov-thumb .ov-close {
  position:absolute; top:-13px; right:-13px; width:34px; height:34px; border-radius:99px; z-index:3;
  background:#3a3a3a; border:2px solid #d0d0d0; cursor:pointer;
  display:none; align-items:center; justify-content:center;
}
.ov-thumb:hover .ov-close { display:flex; }
.ov-thumb .ov-close svg { width:13px; height:13px; fill:#fff; }
.ov-thumb-label {
  position:absolute; left:50%; bottom:-30px; transform:translateX(-50%);
  font-size:12.5px; font-weight:700; color:#fff; white-space:nowrap;
  text-shadow:0 1px 4px rgba(0,0,0,.7);
}

/* workspace mini strip */
#ov-ws-strip {
  position:absolute; right:14px; top:50%; transform:translateY(-50%); z-index:4;
  display:flex; flex-direction:column; gap:12px;
}
.ws-mini {
  border-radius:8px; overflow:hidden; cursor:pointer; position:relative;
  background:rgba(255,255,255,.08);
  outline:2.5px solid transparent; transition:outline-color .15s ease, transform .15s ease;
}
.ws-mini.active { outline-color:#fff; }
.ws-mini:hover { transform:scale(1.04); }
.ws-mini .wsmini-win { position:absolute; background:rgba(255,255,255,.55); border-radius:2px; }
.ws-add-ws {
  width:100%; aspect-ratio:16/9.6; border-radius:8px; border:2px dashed rgba(255,255,255,.35);
  background:transparent; color:rgba(255,255,255,.7); font-size:22px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.ws-add-ws:hover { border-color:rgba(255,255,255,.7); color:#fff; }

/* search results */
#ov-results {
  position:relative; z-index:5; margin:10px auto 0; width:min(640px, 92vw);
  max-height:52vh; overflow-y:auto; display:none;
  border-radius:18px; background:rgba(28,20,36,.82);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  padding:10px; color:#fff;
}
#ov-results.show { display:block; animation:menu-in .14s ease; }
.ovr-group { margin-bottom:8px; }
.ovr-group:last-child { margin-bottom:0; }
.ovr-group-label { font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:rgba(255,255,255,.55); padding:6px 10px 4px; }
.ovr-row {
  display:flex; align-items:center; gap:12px; padding:7px 10px; border-radius:10px; cursor:pointer;
}
.ovr-row:hover, .ovr-row.hl { background:rgba(255,255,255,.13); }
.ovr-row img, .ovr-row svg.app-svg { width:32px; height:32px; flex:none; }
.ovr-row .sym { width:26px; height:26px; fill:#fff; flex:none; padding:3px; }
.ovr-row .ovr-main { min-width:0; flex:1; }
.ovr-row .ovr-name { font-size:13.5px; font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ovr-row .ovr-name b { color:var(--accent-hover); font-weight:700; }
.ovr-row .ovr-sub { font-size:11.5px; color:rgba(255,255,255,.55); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ovr-calc-result { font-size:20px; font-weight:300; }

/* app grid mode */
#app-grid {
  position:absolute; inset:0; z-index:6; display:none; flex-direction:column;
  padding:52px 60px 46px;
}
#overview.appgrid #app-grid { display:flex; animation:ag-in .2s ease; }
@keyframes ag-in { from { opacity:0; transform:scale(.97); } }
#ag-pages { flex:1; position:relative; }
.ag-page {
  position:absolute; inset:0; display:grid; align-content:start; justify-content:center;
  grid-template-columns:repeat(var(--ag-cols,6), 108px); grid-auto-rows:112px; gap:8px 14px;
}
.ag-item {
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:8px;
  padding-top:10px; border-radius:14px; cursor:pointer; position:relative;
}
.ag-item:hover { background:rgba(255,255,255,.09); }
.ag-item img, .ag-item > svg.app-svg { width:64px; height:64px; filter:drop-shadow(0 2px 5px rgba(0,0,0,.45)); }
.ag-item .ag-label {
  font-size:12.5px; color:#fff; max-width:104px; text-align:center;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  text-shadow:0 1px 3px rgba(0,0,0,.6);
}
.ag-folder-icon {
  width:64px; height:64px; border-radius:16px; background:rgba(255,255,255,.16);
  display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:11px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.ag-folder-icon img, .ag-folder-icon svg.app-svg { width:100%; height:100%; }
#ag-dots { display:flex; justify-content:center; gap:9px; padding:14px 0 2px; }
#ag-dots button { width:9px; height:9px; border-radius:99px; border:none; background:rgba(255,255,255,.32); cursor:pointer; padding:0; transition:background .15s ease, transform .15s ease; }
#ag-dots button.active { background:#fff; transform:scale(1.25); }
#ag-page-hint { text-align:center; color:rgba(255,255,255,.6); font-size:12px; padding-bottom:6px; }

/* folder popup */
#folder-pop {
  position:absolute; inset:0; z-index:7; display:none; align-items:center; justify-content:center;
  background:rgba(10,5,16,.45);
}
#folder-pop.show { display:flex; }
.folder-box {
  width:min(560px, 88vw); max-height:70vh; border-radius:22px; padding:20px;
  background:rgba(40,30,50,.92); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
  box-shadow:0 24px 80px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.1);
  display:flex; flex-direction:column; animation:dialog-in .2s cubic-bezier(.3,1.1,.4,1);
}
.folder-box .fb-name {
  background:transparent; border:none; outline:none; color:#fff; font-size:16px; font-weight:700;
  text-align:center; margin-bottom:14px; border-bottom:1px solid transparent; padding:4px 8px;
}
.folder-box .fb-name:focus { border-bottom-color:var(--accent); }
.folder-box .fb-grid { overflow-y:auto; display:grid; grid-template-columns:repeat(auto-fill, 96px); gap:8px; justify-content:center; padding-bottom:6px; }
