:root{--bg: #e8edf1;--surface: #fbfcfd;--ink: #14202b;--muted: #5a6b78;--line: #d3dbe2;--accent: #2447c9;--accent-ink: #fff;--danger: #b42318;--side: #14202b;--amber: #c58a1b;--pdf: #b8432f;font-family:Figtree,system-ui,sans-serif;color:var(--ink);font-size:15px;line-height:1.45}@media (prefers-color-scheme: dark){:root{--bg: #0f1820;--surface: #17232d;--ink: #e6edf2;--muted: #93a4b1;--line: #26343f;--accent: #6f8cff;--accent-ink: #0b1220;--danger: #ff8a7a;--side: #0a1118}}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select,a{font:inherit;color:inherit}button,a.btn{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.err{color:var(--danger);margin:.5rem 0}.ok{color:#1a7f4b}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.side{background:var(--side);color:#e6edf2;padding:1.25rem .75rem;display:flex;flex-direction:column;gap:.15rem}.brand{font-weight:700;font-size:1.35rem;letter-spacing:-.02em;padding:0 .75rem 1rem}.side button{background:none;border:0;text-align:left;padding:.55rem .75rem;border-radius:6px;color:#b9c7d2}.side button:hover{background:#ffffff14}.side button.on{background:#ffffff1f;color:#fff;font-weight:600}.who{margin-top:auto;padding:.75rem;font-size:.85rem;color:#93a4b1;display:flex;flex-direction:column;gap:.4rem;word-break:break-all}.who button{padding:0;color:#e6edf2;text-decoration:underline}main{padding:1.5rem 2rem;min-width:0;display:flex;flex-direction:column}.foot{margin-top:auto;padding-top:2rem;font-size:.8rem;color:var(--muted)}.foot button{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}.browser{position:relative;min-height:70vh;border-radius:10px}.browser.over{outline:2px dashed var(--accent);outline-offset:6px}.browser header,.panel>h2{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}h2{margin:0;font-size:1.25rem;letter-spacing:-.01em}.crumbs{font-size:1.15rem;font-weight:600;color:var(--muted)}.crumbs button{background:none;border:0;padding:.1rem .2rem;font-weight:600}.crumbs button:hover{color:var(--accent)}.tools{display:flex;gap:.5rem;flex-wrap:wrap}input.search{width:min(320px,100%)}.results .hit{display:grid;gap:.1rem;min-width:0;padding:.2rem 0}.snippet{margin:0;color:var(--muted);font-size:.88rem;overflow-wrap:anywhere}.snippet mark{background:color-mix(in srgb,var(--amber) 35%,transparent);color:var(--ink);border-radius:2px;padding:0 .1em}button{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:.45rem .85rem}button:hover{border-color:var(--muted)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button:disabled{opacity:.6;cursor:progress}button.danger{color:var(--danger)}.empty{color:var(--muted);padding:3rem 0}.rows{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:10px}.rows li{display:grid;grid-template-columns:1fr 80px 110px auto;align-items:center;gap:.75rem;padding:.35rem .9rem;border-top:1px solid var(--line)}.rows li:first-child{border-top:0}.rows li:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.name{background:none;border:0;padding:.35rem 0;text-align:left;display:flex;align-items:center;gap:.6rem;font-weight:500;min-width:0;overflow-wrap:anywhere}.name.static{font-weight:400}.meta{color:var(--muted);font-size:.88rem}.size{text-align:right}.acts{display:flex;gap:.25rem;justify-content:flex-end;opacity:0}.rows li:hover .acts,.rows li:focus-within .acts{opacity:1}.acts button,.acts a{background:none;border:0;padding:.3rem .5rem;font-size:.88rem;text-decoration:none;color:var(--accent);border-radius:5px}.acts a:hover,.acts button:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.acts button.danger{color:var(--danger)}.ico{width:22px;height:22px;flex:none}.ico.folder{fill:var(--amber)}.ico.file{fill:var(--muted)}.ico.pdf{fill:var(--pdf)}.ico.word{fill:#2b5797}.ico.cell{fill:#1e7145}.ico.slide{fill:#c43e1c}.ico.image{fill:#7a4fc4}.ico.video{fill:#c2357a}.ico.archive{fill:#8a6d3b}.rows.files{display:grid;grid-template-columns:1.4rem minmax(0,1fr) 150px 80px 110px auto;column-gap:.75rem}.rows.files li{grid-column:1 / -1;grid-template-columns:subgrid}.rows.files li.head{padding-block:.5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.rows.files li.head .meta{font-size:inherit}.rows.files li.head:hover{background:none}.rows.files li.picked{background:color-mix(in srgb,var(--accent) 11%,transparent)}.pick{display:flex;align-items:center}.pick input{width:1rem;height:1rem;margin:0;accent-color:var(--accent)}.name .label{min-width:0}.rows.files .name>.ico{margin-inline:6px}.thumb{position:relative;width:34px;height:34px;flex:none;border-radius:5px;overflow:hidden;background:var(--line);margin:-6px 0}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.video:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-35%,-50%);border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 0 2px #000a)}.bulk{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem .75rem;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))}.bulk strong{margin-right:.5rem}.bulk .muted{font-size:.88rem}.bulk .clear{margin-left:auto}.intro{margin:-.5rem 0 1rem}details.menu{position:relative}details.menu>summary{list-style:none;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:.45rem .85rem}details.menu>summary::-webkit-details-marker{display:none}details.menu>summary:after{content:" ▾";color:var(--muted)}details.menu[open]>summary{border-color:var(--muted)}.menu-list{position:absolute;z-index:5;right:0;top:calc(100% + 4px);min-width:15rem;display:grid;padding:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 24px #0003}.menu-list button,.menu-list a{text-align:left;background:none;border:0;border-radius:6px;padding:.45rem .6rem;color:var(--ink);text-decoration:none}.menu-list button:hover,.menu-list a:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.menu-list hr{border:0;border-top:1px solid var(--line);margin:.25rem 0}.office{flex:1;min-height:0}.office>div,.office iframe{width:100%;height:100%;border:0;border-radius:0 0 12px 12px}.modal{position:fixed;top:2vh;right:2vw;bottom:2vh;left:2vw;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0008;z-index:10}.modal .bar{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--line)}.modal .bar .note{flex:1;margin:0 1rem;color:var(--muted);font-size:.88rem}.modal .bar button:last-child{flex:none}.modal iframe{flex:1;border:0;border-radius:0 0 12px 12px;background:#fff}.pending{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1rem;background:color-mix(in srgb,var(--amber) 18%,var(--surface));border-bottom:1px solid var(--line)}.pending span{margin-right:auto;font-weight:500}.pad{padding:0 1rem}.spin{display:inline-block;width:.8em;height:.8em;margin-right:.5em;vertical-align:-.05em;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.dialog{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;display:grid;place-items:center;z-index:20;padding:1rem}.sheet{width:min(680px,100%);max-height:80vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px}.sheet .bar{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border-bottom:1px solid var(--line)}.sheet .rows{border:0;border-radius:0}.sheet .rows li{grid-template-columns:1fr 70px 170px auto}.panel{max-width:760px}.panel p{margin:0 0 .9rem}.panel h3{margin:1.4rem 0 .5rem;font-size:1rem}.panel .links{display:flex;gap:1.25rem}.panel .links a,.sheet .links a{color:var(--accent)}.sheet .body{padding:1rem 1.1rem 1.2rem}.sheet .body p{margin:0 0 .8rem}.sheet .links{display:flex;gap:1.25rem}.notice{max-height:50vh;overflow:auto;margin:0;padding:.9rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;white-space:pre-wrap;font:.82rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}form.inline{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}form.stack{display:grid;gap:.9rem;max-width:360px}label{display:grid;gap:.3rem;font-weight:500}input,select{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:.5rem .7rem}form.inline input{flex:1 1 180px}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login form{width:min(380px,100%);display:grid;gap:.9rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:2rem}.login h1{margin:0;font-size:2rem;letter-spacing:-.03em}.login p{margin:0}@media (max-width: 760px){.shell{grid-template-columns:1fr}.side{flex-direction:row;flex-wrap:wrap;align-items:center;padding:.6rem}.brand{padding:0 .75rem 0 .25rem}.who{margin:0 0 0 auto;flex-direction:row;padding:0}main{padding:1rem}.rows li{grid-template-columns:1fr auto}.meta{display:none}.acts{opacity:1}.rows.files{grid-template-columns:1.4rem minmax(0,1fr) auto}.rows.files li.head{display:none}.rows.files li .acts{flex-wrap:wrap}}.badge{display:inline-block;min-width:1.3em;margin-left:.45em;padding:0 .4em;border-radius:999px;background:var(--amber);color:#14202b;font-size:.78rem;font-weight:700;text-align:center}.name .owner,.rows .owner{display:block;color:var(--muted);font-size:.82rem;font-weight:400}.name:has(.owner){flex-wrap:wrap}.requests{margin-bottom:1.5rem}.requests h2{margin-bottom:.6rem}.requests summary{cursor:pointer;color:var(--muted);margin-bottom:.6rem}.cards{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.cards li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;background:color-mix(in srgb,var(--amber) 12%,var(--surface));border:1px solid var(--line);border-radius:10px}.cards .msg{margin:.3rem 0 0;color:var(--muted)}.row-acts{display:flex;flex-wrap:wrap;gap:.4rem}.chip{justify-self:end;font-size:.8rem;padding:.1rem .55rem;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.chip.done{color:#1a7f4b;border-color:currentColor}.chip.declined{color:var(--danger);border-color:currentColor}.chip.pending{color:var(--amber);border-color:currentColor}.sheet .rows.people{border:1px solid var(--line);border-radius:10px;margin:.4rem 0 .8rem}.sheet .rows.people li{grid-template-columns:1fr auto auto}.sheet h3{margin:1.2rem 0 .5rem;font-size:1rem}form.stack.wide{max-width:none}form.stack .inline{display:flex;gap:.5rem;flex-wrap:wrap}form.stack .inline input{flex:1 1 180px}textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:.5rem .7rem;resize:vertical}.small{font-size:.85rem}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0b1016f2;color:#e6edf2;display:flex;flex-direction:column}.viewer .bar{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;padding-top:calc(.6rem + env(safe-area-inset-top,0px))}.viewer .bar strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer .bar .muted{color:#93a4b1}.viewer .bar a{color:#9fb3ff;text-decoration:none}.viewer .bar button{background:#ffffff14;border-color:#ffffff26;color:inherit}.viewer .stage{flex:1;min-height:0;display:grid;place-items:center;padding:0 4.5rem 1.5rem}.viewer .stage img,.viewer .stage video{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 10px 40px #0008}.viewer .nav{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border-radius:50%;font-size:1.8rem;line-height:1;padding:0;background:#ffffff14;border-color:#ffffff26;color:inherit}.viewer .nav:hover{background:#ffffff2a}.viewer .prev{left:1rem}.viewer .next{right:1rem}@media (max-width: 600px){.viewer .stage{padding:0 .5rem 1rem}.viewer .nav{top:auto;bottom:1rem;transform:none}}.layout{display:inline-flex;border:1px solid var(--line);border-radius:7px;overflow:hidden}.layout button{border:0;border-radius:0;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem}.layout button+button{border-left:1px solid var(--line)}.layout button.on{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent);font-weight:600}.layout svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.layout button:last-child svg{fill:currentColor;stroke:none}.pick-all{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:.6rem;color:var(--muted);font-size:.88rem}.pick-all input{accent-color:var(--accent)}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem}.tile{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:10px}.tile:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.tile.picked{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--surface))}.tile-pick{position:absolute;top:.5rem;left:.5rem;z-index:1;width:1.1rem;height:1.1rem;margin:0;accent-color:var(--accent);opacity:0}.tile:hover .tile-pick,.tile-pick:checked,.tile-pick:focus-visible,.grid:has(.tile-pick:checked) .tile-pick{opacity:1}.tile-open{display:flex;flex-direction:column;gap:0;padding:0;border:0;background:none;text-align:left;border-radius:10px 10px 0 0;min-width:0}.preview{aspect-ratio:4 / 3;display:grid;place-items:center;overflow:hidden;border-radius:9px 9px 0 0;background:color-mix(in srgb,var(--line) 55%,var(--surface))}.preview .ico{width:48px;height:48px}.preview .thumb{width:100%;height:100%;margin:0;border-radius:0;background:none}.preview .thumb img{object-fit:cover}.preview .thumb:is(.pdf,.word,.cell,.slide){padding:.6rem .6rem 0}.preview .thumb:is(.pdf,.word,.cell,.slide) img{object-position:top;border-radius:3px 3px 0 0;box-shadow:0 1px 4px #0003;background:#fff}.preview .thumb.video:after{border-width:11px 0 11px 18px}.tile-name{display:flex;align-items:center;gap:.5rem;padding:.55rem .7rem 0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile.folder{align-self:start}.tile.folder .tile-name{padding-top:.8rem}.tile.folder:has(.tile-pick) .tile-name{padding-left:2.1rem}.tile.folder .tile-pick{top:.95rem;left:.7rem}.tile-foot{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:0 .3rem .3rem .7rem;min-width:0}.tile-foot .meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}details.tile-menu>summary{border:0;background:none;padding:.15rem .5rem;font-size:1.1rem;line-height:1;color:var(--muted);border-radius:6px}details.tile-menu>summary:hover,details.tile-menu[open]>summary{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--ink)}details.tile-menu>summary:after{content:none}.tile-menu .menu-list{min-width:12rem}.menu-list .danger{color:var(--danger)}@media (max-width: 760px){.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem}.tile-pick{opacity:1}}.rows.files li.head .col{background:none;border:0;padding:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;text-align:left;cursor:pointer}.rows.files li.head .col.size{text-align:right}.rows.files li.head .col:hover,.rows.files li.head .col.on{color:var(--ink)}.menu-list button.on{font-weight:600}.thumb video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.rows .thumb:is(.pdf,.word,.cell,.slide){background:#fff;border:1px solid var(--line);width:28px;height:36px;margin:-7px 3px;border-radius:3px}.rows .thumb:is(.pdf,.word,.cell,.slide)>img:not(.peek){object-position:top left;transform:scale(1.8);transform-origin:12% 8%}.rows .thumb{overflow:visible}.rows .thumb>img:not(.peek),.rows .thumb>video{border-radius:inherit}.rows .thumb:is(.pdf,.word,.cell,.slide){overflow:hidden}.thumb .peek{display:none}.rows .name:hover .thumb .peek{display:block;position:fixed;z-index:30;width:240px;height:auto;max-height:320px;object-fit:contain;transform:translate(13rem,-40%);background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 30px #0004;pointer-events:none}.sheet.move .rows{max-height:45vh;overflow:auto}.sheet.move .rows li{grid-template-columns:1fr}.sheet.move .name:disabled{opacity:.55;cursor:not-allowed}.crumbs.where{font-size:1rem;padding:.6rem 1rem;border-bottom:1px solid var(--line)}.foot-bar{display:flex;justify-content:space-between;gap:.5rem;padding:.7rem 1rem;border-top:1px solid var(--line)}.context-menu{position:fixed;right:auto;z-index:40;min-width:14rem;max-height:calc(100vh - 16px);overflow:auto}.context-menu .menu-label{padding:.35rem .6rem .25rem;font-size:.78rem;font-weight:600;color:var(--muted);max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu button:focus-visible,.context-menu a:focus-visible{outline:none;background:color-mix(in srgb,var(--accent) 14%,transparent)}.note-line{margin:0 0 .75rem}button.link{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline}
