:root{--ink:#172029;--muted:#73808a;--line:#e6ebee;--canvas:#f5f7f8;--nav:#101920;--accent:#2d72e8;--danger:#c43c4b}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input{font:inherit}button{cursor:pointer}.hidden{display:none!important}.login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(420px,44%) 1fr;background:#fff}.login-panel{width:min(410px,calc(100vw - 40px));align-self:center;justify-self:center;padding:36px}.login-brand,.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#3f8cff,#2057bc);color:#fff;font-size:22px;box-shadow:0 10px 24px #2c6dd63d}.login-brand strong,.login-brand small,.brand strong,.brand small{display:block}.login-brand small,.brand small{text-transform:uppercase;letter-spacing:.16em;font-size:14px;color:#82919b;margin-top:3px}.kicker{margin:38px 0 10px;color:#4f82d0;font-size:14px;font-weight:800;letter-spacing:.17em}.login-panel h1{font-size:36px;letter-spacing:-.045em;margin:0}.login-copy{color:#77858e;font-size:14px;line-height:1.7;margin:11px 0 27px}.login-panel label,.modal label{display:block;font-size:14px;font-weight:700;color:#52616b;margin-bottom:15px}.login-panel input,.modal input{display:block;width:100%;margin-top:7px;border:1px solid #d8e0e5;border-radius:9px;padding:11px 12px;outline:none}.login-panel input:focus,.modal input:focus{border-color:#7ba7e9;box-shadow:0 0 0 3px #e8f1ff}.primary,.secondary,.danger{border-radius:9px;padding:10px 15px;font-size:14px;font-weight:700;border:1px solid}.primary{color:#fff;background:var(--accent);border-color:var(--accent);box-shadow:0 7px 18px #2d72e82b}.primary:hover{background:#205fc8}.secondary{color:#4d5d67;background:#fff;border-color:#d8e0e4}.danger{color:#b53242;background:#fff;border-color:#ebc3c8}.wide{width:100%;display:block;margin-top:9px}.error{min-height:17px;color:#c43c4b;font-size:14px;margin:0 0 6px}.secure-note{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:#8b979e;text-align:center}.login-visual{display:grid;place-items:center;background:radial-gradient(circle at 60% 35%,#253c4f,#101b23 64%);position:relative;overflow:hidden}.login-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000,transparent)}.visual-card{position:relative;width:360px;padding:28px;border:1px solid #ffffff16;border-radius:18px;color:#fff;background:#ffffff0a;backdrop-filter:blur(10px);box-shadow:0 28px 80px #0005}.visual-card small,.visual-card strong{display:block}.visual-card small{font-size:14px;color:#91a7b5;text-transform:uppercase;letter-spacing:.16em}.visual-card strong{font-size:21px;margin-top:7px}.visual-card p{color:#8ea1ae;font-size:14px;margin:20px 0 0}.pulse{position:absolute;top:31px;right:29px;width:9px;height:9px;border-radius:50%;background:#3ed695;box-shadow:0 0 0 7px #3ed69519}.visual-bars{display:flex;gap:8px;margin-top:30px}.visual-bars i{height:5px;border-radius:8px;background:#3b79de}.visual-bars i:nth-child(1){width:48%}.visual-bars i:nth-child(2){width:30%;background:#8a67d5}.visual-bars i:nth-child(3){width:14%;background:#34a781}.app{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;padding:25px 18px 18px;display:flex;flex-direction:column;color:#d9e2e8;background:linear-gradient(175deg,#111c24,#0d151b 72%);z-index:20}.brand{padding:0 9px 27px}.brand strong{font-size:14px;color:#fff}.sidebar nav{display:flex;flex-direction:column;gap:3px}.sidebar nav p{font-size:14px;color:#687985;font-weight:800;letter-spacing:.16em;margin:11px 12px 7px}.nav-button,.library-link,.logout{width:100%;border:0;background:transparent;color:#aab9c2;border-radius:9px;padding:10px 12px;text-align:left;font-size:14px;display:flex;align-items:center;gap:11px}.nav-button:hover,.library-link:hover,.logout:hover,.nav-button.active,.library-link.active{color:#fff;background:#213140}.nav-button.active,.library-link.active{box-shadow:inset 3px 0 #4a8ef5}.library-link i{width:8px;height:8px;border-radius:3px}.violet{background:#8065d5!important}.blue{background:#3c82e5!important}.orange{background:#f08a42!important}.green{background:#2ba982!important}.storage-card{margin-top:auto;padding:14px 13px;border:1px solid #ffffff12;border-radius:11px;background:#ffffff08}.storage-card>div:first-child{display:flex;justify-content:space-between;font-size:14px}.storage-track{height:5px;margin:11px 0 8px;background:#293942;border-radius:20px;overflow:hidden}.storage-track i{display:block;height:100%;width:0;background:#4385ef;border-radius:inherit}.storage-card small{font-size:14px;color:#6e808b}.logout{margin-top:8px;color:#73848f}.workspace{margin-left:255px;min-height:100vh}.topbar{height:75px;position:sticky;top:0;z-index:10;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#ffffffed;backdrop-filter:blur(10px)}.search{width:min(470px,45vw);display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid #e1e7ea;border-radius:9px;background:#f8fafb;color:#8a969e}.search input{width:100%;border:0;outline:0;background:transparent;font-size:14px}.account,.server-state{display:flex;align-items:center;gap:12px}.server-state{font-size:14px;color:#687780}.server-state i{width:7px;height:7px;border-radius:50%;background:#2eb47e;box-shadow:0 0 0 4px #2eb47e18}.account button{width:34px;height:34px;border-radius:10px;border:0;background:#dce8fb;color:#32619f;font-size:14px;font-weight:800}.content{padding:37px 40px 55px;max-width:1450px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:29px}.page-head .breadcrumb{margin:0 0 7px;font-size:14px;font-weight:800;letter-spacing:.12em;color:#87949c}.breadcrumb button{border:0;background:none;padding:0;color:#6683a9;font-size:14px;font-weight:800}.page-head h1{margin:0;font-size:30px;letter-spacing:-.035em}.page-head>div>p:last-child{margin:6px 0 0;color:#76838c;font-size:14px}.actions{display:flex;gap:8px}.upload-label{position:relative;cursor:pointer}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.library-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:25px}.library-card{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff;text-align:left}.library-card.active{border-color:#9fc0f1;box-shadow:0 0 0 2px #e7f0fd}.library-card .folder{width:37px;height:37px;display:grid;place-items:center;border-radius:9px;color:#fff}.library-card strong,.library-card small{display:block}.library-card strong{font-size:14px}.library-card small{font-size:14px;color:#89959c;margin-top:3px}.toolbar{height:43px;padding:0 12px 0 16px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:#fff;font-size:14px;color:#7c8991}.toolbar button{border:0;background:transparent;border-radius:5px;color:#7d8991;padding:5px 8px}.toolbar button.active{background:#e9f1fd;color:#3468ad}.file-list.list,.card{border:1px solid var(--line);border-radius:0 0 11px 11px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #1d2b3508}.file-heading,.file-row{display:grid;grid-template-columns:minmax(260px,2fr) minmax(140px,1fr) 90px 30px;align-items:center;column-gap:18px}.file-heading{height:35px;padding:0 15px;background:#f8fafb;border-bottom:1px solid var(--line);font-size:14px;color:#8a969e;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.file-row{width:100%;min-height:62px;padding:0 15px;border:0;border-bottom:1px solid #eff2f4;background:#fff;color:#6e7d86;text-align:left;font-size:14px}.file-row:hover{background:#f6f9fd}.file-row:last-child{border-bottom:0}.file-icon{grid-column:1;width:32px;font-size:19px;color:#5583c5}.file-icon.dir{color:#dda03d}.file-name{grid-column:1;margin-left:40px;min-width:0}.file-name strong,.file-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-name strong{color:#384750;font-size:14px}.file-name small{margin-top:3px;color:#929ca2;font-size:14px}.more{text-align:center;color:#929ca4}.file-list.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.file-list.grid .file-heading{display:none}.file-list.grid .file-row{min-height:155px;border:1px solid var(--line);border-radius:11px;display:flex;position:relative;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:15px}.file-list.grid .file-icon{margin-bottom:auto;width:43px;height:43px;display:grid;place-items:center;border-radius:10px;background:#f0f4f9}.file-list.grid .file-name{margin:0;width:100%}.file-list.grid .modified,.file-list.grid .size{display:none}.file-list.grid .more{position:absolute;right:13px;top:13px}.empty{text-align:center;padding:70px 20px;background:#fff}.empty>span{width:52px;height:52px;display:grid;place-items:center;margin:auto;border-radius:14px;background:#eff4f8;color:#71818d}.empty h3{font-size:14px;margin:14px 0 5px}.empty p{font-size:14px;color:#859198;margin:0}.details{position:fixed;z-index:30;inset:0 0 0 auto;width:335px;padding:29px;background:#fff;border-left:1px solid var(--line);box-shadow:-15px 0 40px #0e181f1a}.close{position:absolute;right:18px;top:18px;border:0;background:#f2f5f6;color:#687781;width:30px;height:30px;border-radius:8px;font-size:18px}.detail-icon{height:165px;margin-top:51px;display:grid;place-items:center;border:1px solid #e2e8ed;border-radius:13px;background:linear-gradient(145deg,#f5f7fa,#e9f0f8);color:#5a83be;font-size:40px}.details .kicker{margin-top:24px}.details h2{font-size:17px;word-break:break-word}.details dl{margin:22px 0}.details dl div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf1f3;font-size:14px}.details dt{color:#8b969d}.details dd{margin:0;text-align:right;max-width:180px;overflow-wrap:anywhere}.modal-layer{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#08101680;backdrop-filter:blur(3px)}.modal{position:relative;width:min(590px,calc(100vw - 32px));max-height:90vh;overflow:auto;padding:28px;background:#fff;border-radius:15px;box-shadow:0 25px 70px #0004}.modal .kicker{margin:0 0 8px}.modal h2{margin:0 0 8px;font-size:20px}.modal>div>p{color:#7e8a92;font-size:14px;margin:0 0 21px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.modal label small{display:block;margin-top:5px;color:#8c979e;font-size:14px}.modal label.check{display:flex;align-items:center;gap:7px;font-weight:500}.modal label.check input{display:inline;width:auto;margin:0}.permission-form fieldset{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 12px;border:1px solid var(--line);border-radius:10px;margin:11px 0;padding:13px}.permission-form legend{padding:0 7px;font-size:14px;font-weight:800}.permission-form .check{margin:0}.toast{position:fixed;z-index:80;left:50%;bottom:24px;transform:translateX(-50%);padding:11px 15px;border-radius:9px;background:#17242d;color:#fff;box-shadow:0 12px 35px #0003;font-size:14px}.toast-error{background:#9f2836}.card{border-radius:11px}.card-head{padding:18px 20px;border-bottom:1px solid var(--line)}.card-head h2{font-size:14px;margin:0}.card-head p{font-size:14px;color:#8b969d;margin:4px 0 0}.activity-row{display:flex;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid #eff2f4}.avatar-small,.identity>i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:#e8eff9;color:#3d6da9;font-size:14px;font-style:normal;font-weight:800}.activity-row strong,.activity-row small{display:block}.activity-row strong{font-size:14px;text-transform:capitalize}.activity-row small{font-size:14px;color:#929da4;margin-top:4px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:17px}.stats article{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid var(--line);border-radius:11px;background:#fff}.stats article>span{width:39px;height:39px;display:grid;place-items:center;border-radius:10px;background:#e8f0fc;color:#3970bb}.stats small,.stats strong{display:block}.stats small{font-size:14px;color:#89959d;font-weight:800;letter-spacing:.08em}.stats strong{font-size:17px;margin-top:3px}.user-heading,.user-row{display:grid;grid-template-columns:2fr .8fr 1.2fr;align-items:center;gap:16px;padding:12px 20px}.user-heading{font-size:14px;color:#929ca3;font-weight:800;text-transform:uppercase;background:#f8fafb}.user-row{width:100%;border:0;border-top:1px solid #eff2f4;background:#fff;text-align:left;color:#65737d;font-size:14px}.user-row:hover{background:#f7f9fb}.identity{display:flex;align-items:center;gap:9px}.identity strong,.identity small{display:block}.identity strong{color:#41505a;font-size:14px}.identity small{font-size:14px;color:#929ca3;margin-top:3px}.user-row b{font-size:14px;background:#eef2f4;padding:4px 6px;border-radius:5px}
@media(max-width:980px){.login-screen{grid-template-columns:1fr}.login-visual{display:none}.library-cards{grid-template-columns:repeat(2,1fr)}.file-list.grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.sidebar{width:68px;padding:21px 9px}.brand{padding:0 3px 24px}.brand>div,.sidebar nav p,.nav-button,.library-link,.logout{font-size:14px}.nav-button,.library-link,.logout{justify-content:center;padding:11px}.library-link i{width:10px;height:10px}.storage-card{display:none}.workspace{margin-left:68px}.topbar{height:66px;padding:0 15px}.search{width:65vw}.server-state{display:none}.content{padding:26px 16px 45px}.page-head{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions>*{flex:1;text-align:center}.library-cards{display:flex;overflow:auto}.library-card{min-width:155px}.file-heading{display:none}.file-list.list{border-radius:11px}.file-row{grid-template-columns:minmax(180px,1fr) 28px}.file-row .modified,.file-row .size{display:none}.file-list.grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr}.details{width:min(335px,100vw)}.user-heading,.user-row{grid-template-columns:2fr 1fr}.user-heading span:last-child,.user-row>span:last-child{display:none}.permission-form fieldset{grid-template-columns:repeat(2,1fr)}}@media(max-width:440px){.file-list.grid{grid-template-columns:1fr}.library-cards{margin-right:-16px}.login-panel{padding:22px}.login-panel h1{font-size:31px}}

/* Phone workspace: bottom navigation, full-width content, and larger touch targets. */
@media(max-width:700px){
  body{padding-bottom:env(safe-area-inset-bottom)}
  .sidebar{inset:auto 0 0 0;width:100%;height:calc(68px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);display:flex;flex-direction:row;align-items:center;border-top:1px solid #ffffff12;box-shadow:0 -8px 28px #0710182b}
  .sidebar .brand,.sidebar nav p,#library-nav,.storage-card{display:none!important}
  .sidebar nav{height:100%;flex:2;display:flex;flex-direction:row;gap:3px}
  .sidebar nav .nav-button,#admin-nav,.logout{height:100%;min-width:58px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px;border-radius:9px;font-size:14px;text-align:center}
  .sidebar .nav-button span,.sidebar .logout span{font-size:19px;line-height:1}
  .sidebar .nav-button b,.sidebar .logout b{display:block;font-size:14px;font-weight:650;line-height:1.1}
  .sidebar .nav-button.active{box-shadow:none;background:#213140;color:#fff}
  .logout{margin:0;color:#9babb5}
  .workspace{margin-left:0;width:100%;padding-bottom:78px}
  .topbar{height:62px;padding:0 13px;gap:9px}
  .search{width:calc(100% - 45px);padding:9px 11px}
  .account{margin-left:auto}.server-state{display:none}.account button{width:36px;height:36px}
  .content{padding:22px 13px 34px}
  .page-head{margin-bottom:20px;gap:17px}
  .page-head h1{font-size:27px}
  .page-head .breadcrumb{max-width:90vw;white-space:nowrap;overflow:auto;padding-bottom:2px}
  .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .actions>*{min-height:43px;display:flex;align-items:center;justify-content:center}
  .library-cards{margin:0 -13px 18px;padding:2px 13px 8px;gap:9px;scroll-snap-type:x proximity}
  .library-card{min-width:178px;min-height:64px;scroll-snap-align:start;padding:11px}
  .library-card .folder{width:38px;height:38px;font-size:18px;background:#eef3f8!important}
  .library-card small{font-size:14px;white-space:nowrap}
  .toolbar{height:47px;padding:0 8px 0 13px}
  .toolbar button{min-width:39px;min-height:36px;font-size:14px}
  .file-list.list{border-radius:0 0 11px 11px}
  .file-row{min-height:68px;padding:0 12px;grid-template-columns:minmax(0,1fr) 30px}
  .file-icon{width:35px;font-size:21px}
  .file-name{margin-left:40px}.file-name strong{font-size:14px}.file-name small{font-size:14px}
  .file-list.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .file-list.grid .file-row{min-height:145px;padding:13px}
  .details{inset:0 0 calc(68px + env(safe-area-inset-bottom)) 0;width:100%;padding:22px 20px;overflow:auto;border:0}
  .detail-icon{height:145px;margin-top:42px}
  .details .wide{min-height:44px}
  .modal-layer{align-items:end;padding:0}
  .modal{width:100%;max-height:88vh;border-radius:18px 18px 0 0;padding:25px 20px calc(24px + env(safe-area-inset-bottom))}
  .modal input{min-height:44px;font-size:16px}
  .modal-actions button{min-height:43px;flex:1}
  .permission-form fieldset{grid-template-columns:1fr 1fr;padding:12px 10px}
  .toast{bottom:calc(80px + env(safe-area-inset-bottom));width:calc(100% - 26px);text-align:center}
}
@media(max-width:390px){
  .file-list.grid{grid-template-columns:1fr}
  .library-card{min-width:164px}
  .sidebar nav .nav-button,#admin-nav,.logout{min-width:50px}
}

/* Multi-user storage, sharing, and account controls. */
.account{position:relative}.account-menu{position:absolute;right:0;top:47px;width:270px;padding:8px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 18px 55px #0e18252b;z-index:45}.account-menu:before{content:"";position:absolute;right:12px;top:-6px;width:11px;height:11px;transform:rotate(45deg);background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line)}.account-summary{padding:11px 12px 13px;border-bottom:1px solid var(--line);margin-bottom:5px}.account-summary strong,.account-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary small{margin-top:5px;color:#7c8992}.account-menu button{width:100%;height:auto;padding:11px 12px;border:0;border-radius:8px;background:transparent;color:#43515a;text-align:left}.account-menu button:hover{background:#f3f6f8}.account-menu .signout-item{color:#af3342;border-top:1px solid var(--line);border-radius:0;margin-top:5px;padding-top:13px}.dynamic-nav-label{margin-top:17px!important}.library-link b,.nav-button b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disabled{opacity:.42!important;cursor:not-allowed!important;pointer-events:none}.more{min-width:34px;min-height:34px;display:grid;place-items:center;border-radius:8px}.more:hover{background:#e8eef4}.people-picker{max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:11px;margin:14px 0}.share-person{display:flex!important;align-items:center;gap:11px;margin:0!important;padding:12px;border-bottom:1px solid var(--line);cursor:pointer}.share-person:last-child{border-bottom:0}.share-person>input{width:18px!important;height:18px;margin:0!important}.share-person>span:last-child{min-width:0}.share-person strong,.share-person small{display:block}.share-person small{color:#7e8b93;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-edit{padding:12px;border-radius:9px;background:#f4f7fa}.account-storage{padding:17px;border:1px solid var(--line);border-radius:11px;background:#f8fafb;margin-top:20px}.account-storage>div:first-child{display:flex;justify-content:space-between}.account-storage p{margin:9px 0 7px}.account-storage small{display:block;color:#6f7d86;line-height:1.5}.storage-track.light{background:#dfe6eb}.storage-track.light i{display:block;height:100%;background:#3d7fe6;border-radius:20px}.setting-choice{display:flex!important;align-items:center;gap:9px;padding:14px;border:1px solid var(--line);border-radius:10px}.setting-choice input{width:auto!important;margin:0!important}.admin-access-note{padding:13px;border:1px solid #dce8f8;border-radius:9px;background:#f4f8fe}.danger-text{color:#b53242!important}
@media(max-width:700px){.account-menu{position:fixed;top:59px;right:10px;left:10px;width:auto}.sidebar{height:calc(76px + env(safe-area-inset-bottom))}.workspace{padding-bottom:86px}.sidebar nav .nav-button,#admin-nav{min-width:66px}.details{bottom:calc(76px + env(safe-area-inset-bottom))}.toast{bottom:calc(88px + env(safe-area-inset-bottom))}.account-menu button{min-height:46px}.share-person{min-height:62px}}

/* Remove the colored strip behind personal, shared, and workspace folder icons. */
.library-card .folder.personal,.library-card .folder.shared,.library-card .folder.workspace{background:transparent!important;box-shadow:none!important}

/* Libraries are compact selectors, not full-width dashboard cards. */
.library-cards{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:18px}
.library-card{flex:0 1 220px;width:auto;min-height:48px;padding:8px 10px;gap:8px}
.library-card .folder{width:29px;height:29px;min-width:29px;border-radius:6px}
@media(max-width:700px){.library-cards{display:flex;flex-wrap:nowrap;overflow-x:auto}.library-card{flex:0 0 160px;min-width:160px;min-height:48px;padding:8px 9px}}
