.cw-widget-files,.cw-widget-app-files{--vault-accent:#496f67;--vault-soft:color-mix(in srgb,var(--vault-accent) 10%,var(--card))}
.cw-file-vault,.cw-file-vault *{box-sizing:border-box}
.cw-file-vault{display:grid;width:100%;height:100%;min-width:0;min-height:0;gap:10px;color:var(--ink)}
.cw-file-vault svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cw-file-vault button{font:inherit}
.cw-file-vault-controls{display:flex;min-width:0;align-items:center;gap:5px}
.cw-file-vault-controls>button{display:flex;min-width:34px;height:34px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);padding:0 8px;cursor:pointer}
.cw-file-vault-controls>.cw-file-vault-upload{border-color:color-mix(in srgb,var(--vault-accent) 35%,var(--line));background:var(--vault-accent);color:#fff;font-weight:800}
.cw-file-vault-controls button:disabled{opacity:.55;cursor:wait}
.cw-file-vault-files{display:grid;min-width:0;align-content:start;gap:5px;overflow:auto;overscroll-behavior:contain}
.cw-file-vault-files article{display:grid;min-width:0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--card) 92%,var(--vault-accent));padding:7px}
.cw-file-vault-file-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:var(--vault-soft);color:var(--vault-accent)}
.cw-file-vault-files article>div{display:grid;min-width:0;gap:2px}
.cw-file-vault-files article b{min-width:0;overflow-wrap:anywhere;font-size:11px;line-height:1.25}
.cw-file-vault-files article small{color:var(--muted);font-size:9px;line-height:1.25}
.cw-file-vault-files article nav{display:flex;gap:3px}
.cw-file-vault-files article nav button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);padding:6px;cursor:pointer}
.cw-file-vault-files article nav button:last-child{color:#b44c45}
.cw-file-vault-files article nav button:hover,.cw-file-vault-files article nav button:focus-visible{background:var(--vault-soft);color:var(--vault-accent)}
.cw-file-vault-empty,.cw-file-vault-status{display:grid;height:100%;min-height:120px;place-content:center;place-items:center;gap:7px;color:var(--muted);padding:18px;text-align:center}
.cw-file-vault-empty svg,.cw-file-vault-status svg{width:31px;height:31px;color:var(--vault-accent)}
.cw-file-vault-empty b,.cw-file-vault-status b{color:var(--ink);font-size:12px}
.cw-file-vault-empty small{max-width:270px;font-size:10px;line-height:1.45}
.cw-file-vault-status>i{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--vault-accent);border-radius:50%;animation:cwVaultSpin .8s linear infinite}
.cw-file-vault-status button{min-height:32px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--ink);padding:0 12px;cursor:pointer}
@keyframes cwVaultSpin{to{transform:rotate(360deg)}}
.cw-file-vault-folders{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;border-right:1px solid var(--line);padding-right:9px}
.cw-file-vault-folders>header{display:flex;align-items:center;justify-content:space-between}
.cw-file-vault-folders>header b{font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.cw-file-vault-folders>header button{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:5px;cursor:pointer}
.cw-file-vault-folders>nav{display:grid;align-content:start;gap:4px;overflow:auto}
.cw-file-vault-folders>nav button{display:grid;min-width:0;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:7px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);padding:7px;text-align:left;cursor:pointer}
.cw-file-vault-folders>nav button[aria-pressed=true]{border-color:color-mix(in srgb,var(--vault-accent) 27%,var(--line));background:var(--vault-soft);color:var(--vault-accent)}
.cw-file-vault-folders>nav button>span{display:grid;min-width:0;gap:1px}
.cw-file-vault-folders>nav b{overflow:hidden;text-overflow:ellipsis;font-size:10px;white-space:nowrap}
.cw-file-vault-folders>nav small{font-size:9px}
.cw-file-vault-delete-folder{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#b44c45;padding:6px;font-size:9px;cursor:pointer}
.cw-file-vault-delete-folder svg{width:14px;height:14px}
.cw-file-vault>main{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:9px}
.cw-file-vault>main>header{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}
.cw-file-vault>main>header>div{display:grid;min-width:0;gap:1px}
.cw-file-vault>main h3{overflow:hidden;margin:0;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.cw-file-vault>main header small{color:var(--vault-accent);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.cw-file-vault-medium{grid-template-columns:minmax(105px,31%) minmax(0,1fr)}
.cw-file-vault-large{grid-template-columns:minmax(150px,20%) minmax(280px,1fr) minmax(180px,23%)}
.cw-file-vault-assurance{display:grid;min-width:0;align-content:start;gap:8px;border-left:1px solid var(--line);padding:10px 0 10px 13px}
.cw-file-vault-assurance>span{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;background:var(--vault-soft);color:var(--vault-accent)}
.cw-file-vault-assurance b{font-size:12px}
.cw-file-vault-assurance p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}
.cw-file-vault-assurance dl{display:grid;margin:5px 0 0}
.cw-file-vault-assurance dl div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:8px 0;font-size:9px}
.cw-file-vault-assurance dt{color:var(--muted)}
.cw-file-vault-assurance dd{margin:0;font-weight:850}
.cw-file-vault-mini{grid-template-rows:auto minmax(0,1fr) auto}
.cw-file-vault-mini>header{display:flex;min-width:0;align-items:center;gap:8px}
.cw-file-vault-mini>header>span{display:grid;width:32px;height:32px;place-items:center;border-radius:9px;background:var(--vault-soft);color:var(--vault-accent)}
.cw-file-vault-mini>header>div{display:grid;min-width:0}
.cw-file-vault-mini>header b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.cw-file-vault-mini>header small{color:var(--muted);font-size:9px}
.cw-file-vault-mini .cw-file-vault-files article{grid-template-columns:29px minmax(0,1fr) auto;padding:5px}
.cw-file-vault-mini .cw-file-vault-file-icon{width:27px;height:27px}
.cw-file-vault-mini .cw-file-vault-files article nav button:last-child{display:none}
.cw-file-vault-mini .cw-file-vault-controls>button:last-of-type{display:none}
.cw-file-vault-mini .cw-file-vault-controls>.cw-file-vault-upload{width:100%}
.cw-file-vault-mini .cw-file-vault-controls>.cw-file-vault-upload span{display:inline}
.cw-widget-app-files .cw-app-workspace{padding:12px!important}
.cw-widget-app-files .cw-file-vault{min-height:520px}
@media(max-width:700px){
  .cw-widget-app-files .cw-file-vault-large{grid-template-columns:105px minmax(0,1fr)}
  .cw-widget-app-files .cw-file-vault-assurance{display:none}
  .cw-widget-app-files .cw-file-vault{min-height:calc(100dvh - 155px)}
  .cw-widget-app-files .cw-file-vault-files article nav{display:grid}
}
@media(max-width:470px){
  .cw-widget-app-files .cw-file-vault-large{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
  .cw-widget-app-files .cw-file-vault-folders{display:block;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 8px}
  .cw-widget-app-files .cw-file-vault-folders>header{display:none}
  .cw-widget-app-files .cw-file-vault-folders>nav{display:flex;overflow:visible}
  .cw-widget-app-files .cw-file-vault-folders>nav button{flex:0 0 auto;grid-template-columns:20px auto}
  .cw-widget-app-files .cw-file-vault-folders>nav small{display:none}
  .cw-widget-app-files .cw-file-vault>main>header{align-items:flex-start}
  .cw-widget-app-files .cw-file-vault-controls>.cw-file-vault-upload span{display:none}
}
@media(prefers-reduced-motion:reduce){.cw-file-vault-status>i{animation:none}}
