:root{--bg:#080b12;--bg-soft:#0f1420;--panel:rgba(18,24,36,.78);--panel-strong:rgba(23,30,44,.92);--line:hsla(0,0%,100%,.1);--line-strong:hsla(0,0%,100%,.18);--text:#f6f8fb;--muted:#9aa7b8;--faint:#6f7d91;--accent:#67e8f9;--accent-strong:#22d3ee;--good:#34d399;--danger:#fb7185;--danger-bg:rgba(251,113,133,.12);--shadow:0 22px 70px rgba(0,0,0,.38)}*{box-sizing:border-box}body,html{min-height:100%}body{background:radial-gradient(circle at 18% 12%,rgba(34,211,238,.16),transparent 28rem),radial-gradient(circle at 82% 4%,rgba(52,211,153,.12),transparent 24rem),linear-gradient(135deg,#070a10,#101722 52%,#06080d);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}.login-page{align-items:stretch;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);min-height:100vh;padding:24px;grid-gap:24px;gap:24px}.login-hero{border:1px solid var(--line);border-radius:8px;min-height:calc(100vh - 48px);overflow:hidden;position:relative;box-shadow:var(--shadow)}.login-hero__mesh{background:linear-gradient(rgba(103,232,249,.12) 1px,transparent 0),linear-gradient(90deg,rgba(103,232,249,.12) 1px,transparent 0),radial-gradient(circle at 42% 44%,rgba(103,232,249,.22),transparent 18rem),linear-gradient(135deg,rgba(9,14,24,.88),rgba(14,26,34,.92));background-size:52px 52px,52px 52px,auto,auto;inset:0;position:absolute}.login-hero__panel{background:rgba(6,10,18,.6);border-top:1px solid var(--line);bottom:0;display:grid;grid-gap:12px;gap:12px;left:0;padding:44px;position:absolute;right:0}.login-hero__panel img{background:hsla(0,0%,100%,.94);border-radius:8px;height:auto;margin-bottom:6px;padding:10px;width:174px}.login-card__header p,.login-hero__panel span,.section-label{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.login-hero__panel strong{font-size:clamp(2.4rem,6vw,5.8rem);line-height:.96;max-width:860px}.login-card{align-self:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);margin:auto 0;padding:40px}.login-card__header{display:grid;grid-gap:10px;gap:10px;margin-bottom:30px}.login-card__header img{background:hsla(0,0%,100%,.95);border-radius:8px;height:auto;margin-bottom:8px;padding:8px;width:154px}.login-card__header h1{font-size:2.1rem;line-height:1.05;margin:0}.login-card__header p{margin:0}.field,.field__control,.login-form{display:grid}.login-form{gap:18px}.field{gap:8px}.field span{color:var(--muted);font-size:.9rem}.field__control,.prefix-input,.search-box{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid var(--line);border-radius:8px;color:var(--muted)}.field__control{display:flex;gap:10px;padding:0 14px}.field__control:focus-within,.prefix-input:focus,.search-box:focus-within{border-color:rgba(103,232,249,.62);box-shadow:0 0 0 3px rgba(103,232,249,.12)}.field__control input,.prefix-input,.search-box input{background:transparent;border:0;color:var(--text);min-width:0;outline:0;padding:14px 0;width:100%}.prefix-input{padding:13px 14px}.button,.file-card__actions button,.file-card__select,.icon-button,.notice button,.segmented-control button{align-items:center;background:hsla(0,0%,100%,.07);border:1px solid var(--line);border-radius:8px;color:var(--text);display:inline-flex;gap:9px;justify-content:center;min-height:42px;transition:.16s ease}.button{padding:0 16px}.button:hover,.file-card__actions button:hover,.file-card__select:hover,.icon-button:hover,.notice button:hover,.segmented-control button:hover{border-color:var(--line-strong);transform:translateY(-1px)}.button--primary{background:linear-gradient(135deg,var(--accent),var(--good));border-color:transparent;color:#051018;font-weight:800}.button--ghost{background:transparent}.button--danger,.form-error{background:var(--danger-bg);color:#fecdd3}.form-error{border:1px solid rgba(251,113,133,.34);border-radius:8px;margin:0;padding:12px 14px}.app-shell{display:grid;grid-template-columns:288px minmax(0,1fr);min-height:100vh}.sidebar{background:rgba(7,11,18,.78);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px;padding:24px}.brand{align-items:center;display:flex;gap:12px}.brand__icon{align-items:center;background:hsla(0,0%,100%,.96);border-radius:8px;display:inline-flex;height:52px;justify-content:center;padding:6px;width:86px}.brand__icon img{display:block;height:auto;max-height:40px;max-width:74px;width:100%}.brand small,.brand strong{display:block}.action-strip span,.brand small,.empty-state span,.file-card__body span,.file-card__meta,.muted,.sidebar__footer,.storage-card small{color:var(--muted)}.sidebar__section{display:grid;grid-gap:12px;gap:12px}.section-label{align-items:center;display:flex;gap:8px}.bucket-list{display:grid;grid-gap:8px;gap:8px}.bucket-button{align-items:flex-start;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--muted);display:flex;gap:10px;min-height:58px;overflow:hidden;padding:10px 12px;text-align:left}.bucket-button__text{display:grid;grid-gap:3px;gap:3px;min-width:0}.bucket-button__text small,.bucket-button__text strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bucket-button__text strong{color:var(--text);font-size:.94rem}.bucket-button__text small{color:var(--muted);font-size:.78rem}.bucket-button--active,.bucket-button:hover{background:rgba(103,232,249,.1);border-color:rgba(103,232,249,.22);color:var(--text)}.storage-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:18px}.storage-card span{color:var(--muted)}.storage-card strong{font-size:2.2rem}.sidebar__footer{align-items:center;border-top:1px solid var(--line);display:flex;gap:10px;margin-top:auto;padding-top:18px}.workspace{display:grid;grid-gap:18px;gap:18px;grid-template-rows:auto auto auto auto 1fr;min-width:0;padding:26px}.action-strip,.notice,.toolbar,.topbar,.upload-progress{align-items:center;display:flex}.topbar{justify-content:space-between;gap:18px}.topbar h1,.topbar p{margin:0}.topbar p{color:var(--muted)}.topbar h1{font-size:clamp(2rem,4vw,4.4rem);line-height:1;margin-top:8px;word-break:break-word}.topbar__actions{display:flex;gap:10px}.icon-button{height:42px;padding:0;width:42px}.toolbar{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);gap:12px;padding:12px}.search-box{display:flex;flex:1 1;gap:10px;min-width:220px;padding:0 14px}.prefix-input{max-width:210px}.segmented-control{background:hsla(0,0%,100%,.06);border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:repeat(2,42px);padding:3px}.segmented-control button{border:0;border-radius:6px;min-height:36px}.segmented-control .is-active{background:rgba(103,232,249,.16);color:var(--accent)}.action-strip,.notice,.upload-progress{background:hsla(0,0%,100%,.06);border:1px solid var(--line);border-radius:8px;gap:12px;padding:12px}.notice{justify-content:space-between}.notice--error{background:var(--danger-bg);border-color:rgba(251,113,133,.32);color:#fecdd3}.notice button{height:32px;min-height:32px;padding:0;width:32px}.upload-progress div{display:grid;min-width:160px}.upload-progress span{color:var(--muted);font-size:.9rem}.upload-progress progress{accent-color:var(--accent);flex:1 1;min-width:140px}.action-strip{justify-content:flex-start}.file-area{align-content:start;display:grid;grid-gap:12px;gap:12px;min-height:300px}.file-area--grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.file-area--list{grid-template-columns:1fr}.file-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;min-width:0;padding:16px;position:relative}.file-card--selected{border-color:rgba(103,232,249,.7);box-shadow:0 0 0 3px rgba(103,232,249,.08)}.file-area--list .file-card{align-items:center;grid-template-columns:40px 52px minmax(0,1fr) auto auto}.file-card__select{height:28px;min-height:28px;padding:0;position:absolute;right:12px;top:12px;width:28px}.file-area--list .file-card__select{position:static}.file-card__icon{align-items:center;background:rgba(103,232,249,.1);border:1px solid rgba(103,232,249,.14);border-radius:8px;color:var(--accent);display:inline-flex;height:52px;justify-content:center;width:52px}.file-card__icon svg{height:26px;width:26px}.file-card__body{display:grid;grid-gap:6px;gap:6px;min-width:0}.file-card__body span,.file-card__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card__meta{display:flex;font-size:.86rem;gap:10px}.file-area--grid .file-card__meta{justify-content:space-between}.file-card__actions{display:flex;gap:8px}.file-card__actions button{height:34px;min-height:34px;padding:0;width:34px}.empty-state{align-items:center;background:hsla(0,0%,100%,.04);border:1px dashed var(--line-strong);border-radius:8px;color:var(--muted);display:grid;grid-gap:10px;gap:10px;grid-column:1/-1;justify-items:center;min-height:300px;padding:30px;text-align:center}.empty-state strong{color:var(--text)}.drop-overlay{background:rgba(4,9,15,.82);border:1px solid rgba(103,232,249,.4);border-radius:8px;color:var(--accent);grid-gap:12px;gap:12px;inset:24px;justify-items:center;position:fixed;z-index:20}.drop-overlay,.error-page{align-items:center;display:grid}.error-page{min-height:100vh;padding:24px}.error-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:14px;gap:14px;margin:0 auto;max-width:520px;padding:30px;width:100%}.error-panel p{color:var(--danger);font-size:.78rem;font-weight:800;margin:0;text-transform:uppercase}.error-panel h1{margin:0}.error-panel span{color:var(--muted)}@media (max-width:980px){.login-page{grid-template-columns:1fr}.login-hero{min-height:360px}.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--line);border-right:0}.bucket-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.toolbar{flex-wrap:wrap}.prefix-input{max-width:none}}@media (max-width:640px){.login-page,.sidebar,.workspace{padding:16px}.login-card,.login-hero__panel{padding:24px}.action-strip,.toolbar,.topbar,.topbar__actions,.upload-progress{align-items:stretch;flex-direction:column}.action-strip .button,.toolbar .button,.topbar__actions{width:100%}.segmented-control{grid-template-columns:repeat(2,1fr);width:100%}.file-area--list .file-card{align-items:start;grid-template-columns:48px minmax(0,1fr)}.file-area--list .file-card__actions,.file-area--list .file-card__meta{grid-column:1/-1}}.modal-overlay{align-items:center;background:rgba(4,9,15,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:100}.modal{background:var(--panel-strong);border:1px solid var(--line-strong);border-radius:12px;box-shadow:0 32px 80px rgba(0,0,0,.5);display:grid;grid-gap:24px;gap:24px;max-width:440px;padding:32px;width:100%}.modal__header{align-items:center;display:flex;justify-content:space-between}.modal__header h2{font-size:1.6rem;margin:0}.modal__header button{background:transparent;border:0;color:var(--muted);padding:0}.modal__body{display:grid;grid-gap:20px;gap:20px}.modal__footer{display:flex;gap:12px;justify-content:flex-end}.breadcrumbs{flex:1 1;overflow:hidden}.breadcrumbs,.breadcrumbs span{align-items:center;display:flex;gap:8px}.breadcrumbs button{background:transparent;border:0;color:var(--muted);font-size:.94rem;padding:4px 8px;border-radius:4px;white-space:nowrap}.breadcrumbs button:hover{background:hsla(0,0%,100%,.08);color:var(--text)}.breadcrumbs span:last-child button{color:var(--accent);font-weight:700}.file-card--folder{cursor:pointer}.file-card--folder:hover{background:rgba(103,232,249,.04);border-color:rgba(103,232,249,.3)}.upload-progress{gap:12px}.upload-progress,.upload-progress__info{display:flex;flex-direction:column}.upload-progress__controls{align-items:center;display:flex;gap:12px}.upload-progress__controls progress{flex:1 1}.upload-progress__controls .button{padding:4px 12px;font-size:.85rem}