:root{--ink:#203e36;--muted:#74827a;--green:#245c48;--lime:#ddec98;--line:#e2e8e1;--bg:#f7f9f5;--white:#fff}*{box-sizing:border-box}body{margin:0;font:14px/1.5 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer}button{border:0;background:none;color:inherit}button:disabled{opacity:.55;cursor:wait}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.brand{display:flex;align-items:center;gap:9px;font-size:29px;font-weight:750;letter-spacing:-1.2px}.brand-dot{color:#8ba447}.primary{background:var(--green);color:white;border-radius:8px;padding:13px 20px;font-weight:600}.primary:hover{background:#183f32}.secondary{border:1px solid #cdd8cc;background:white;border-radius:8px;padding:10px 16px;font-weight:600}.secondary:hover{background:#f0f4eb}.wide{width:100%}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#e4ebd7;padding:42px 9%;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-height:850px}.auth-story h1{font-size:clamp(42px,4.8vw,76px);letter-spacing:-3px;line-height:1.05;margin:24px 0}.auth-story p{font-size:16px;line-height:1.8;color:#5c705e}.paper-stack{height:270px;position:relative;margin:42px 30px 20px}.paper{position:absolute;max-width:360px;width:100%;border-radius:4px;padding:28px;box-shadow:0 12px 25px #3b482815}.paper.back{background:#80926b;transform:rotate(-9deg);height:210px;color:white;top:0}.paper.front{background:#fffef4;transform:rotate(5deg);left:15px;top:20px;height:230px}.paper h2{font-size:30px;line-height:1.1;letter-spacing:-1px;margin:18px 0}.paper span{font-size:10px}.tiny{letter-spacing:2px}.paper-lines{height:20px;border-top:1px solid #c9d5bb;border-bottom:1px solid #c9d5bb;margin-bottom:14px}.story-footer{font-size:9px;letter-spacing:1.8px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:35px}.auth-card{width:100%;max-width:370px}.auth-card h2{font-size:36px;letter-spacing:-1px;margin:15px 0 5px}.auth-card p{color:var(--muted)}.tabs{display:flex;background:#eaf0e6;border-radius:8px;padding:4px;margin:28px 0}.tabs button{flex:1;padding:10px;border-radius:6px}.tabs .active{background:white;box-shadow:0 2px 5px #203e3610}label{display:block;font-size:12px;font-weight:600;margin-bottom:17px}input:not([type=radio]):not([type=file]),select{display:block;width:100%;padding:12px 13px;border:1px solid #dce3d9;border-radius:7px;background:white;color:var(--ink);margin-top:7px}input::placeholder{color:#9ba79c}.hint,small{font-size:11px;color:var(--muted);font-weight:400}.error{color:#a23c32!important;font-size:12px;min-height:4px}.auth-foot{text-align:center;font-size:11px;margin-top:26px}.workspace{display:grid;grid-template-columns:240px 1fr;min-height:100vh}aside{background:white;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.workspace-tag{font-size:8px;letter-spacing:2px;margin:7px 0 35px 33px;color:var(--muted)}aside .brand{font-size:25px}aside .primary{padding:12px 10px;font-size:12px}.nav-label{font-size:9px;letter-spacing:1.6px;margin:35px 10px 12px;color:#8c968b}nav button{width:100%;text-align:left;border-radius:7px;padding:12px 10px;margin-bottom:4px;font-size:12px}nav button span{display:inline-block;width:28px;font-size:18px;vertical-align:middle}nav button.active{background:#edf3e7;font-weight:700;color:#2d5e42}.sidebar-note{background:#f7f8f0;border:1px solid #e7ebdc;border-radius:10px;padding:18px;margin:35px 0 25px}.sidebar-note>span{font-size:26px;color:#8da356;display:block;margin-bottom:9px}.sidebar-note strong{font-size:13px;line-height:1.5}.sidebar-note p{font-size:11px;color:var(--muted);margin-bottom:0}.storage{margin-top:auto;padding-top:15px}.storage div{display:flex;justify-content:space-between;font-size:9px}.storage progress{width:100%;height:5px;accent-color:var(--green)}.storage small{font-size:9px}.profile{display:flex;gap:11px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;align-items:center;min-width:0}.avatar{display:grid;place-items:center;background:#e4ecd2;border-radius:50%;height:35px;width:35px;flex-shrink:0;font-size:12px}.profile strong{font-size:11px;word-break:break-word}.profile button{display:block;font-size:10px;padding:0;color:var(--muted)}main{min-width:0}header{height:82px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:11px;background:#ffffff90}.header-label{color:var(--muted)}.header-label span{padding:0 14px;color:#bbc4b7}.header-label b{color:var(--ink);font-weight:500}.online-dot{font-size:10px;color:var(--muted)}.online-dot:before{content:'●';color:#739151;font-size:7px;margin-right:8px}.content{padding:38px 42px;max-width:1500px;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-title .eyebrow{color:#879278;font-size:9px}.page-title h1{font-size:36px;letter-spacing:-1.4px;margin:10px 0 6px;font-weight:600}.page-title h1 span{color:#91a462}.page-title p{font-size:12px;color:var(--muted);margin:0}.page-title .secondary{font-size:11px;white-space:nowrap}.welcome-banner{display:flex;gap:22px;align-items:center;padding:24px 28px;background:#e9efdc;border:1px solid #dde5ce;border-radius:12px;margin-bottom:30px}.banner-symbol{font-size:55px;line-height:1;color:#8aa169}.welcome-banner h2{font-size:17px;font-weight:600;margin:0 0 5px;letter-spacing:-.3px}.welcome-banner p{font-size:11px;margin:0;color:#7a866d;max-width:430px}.welcome-banner button{font-size:11px;margin-left:auto;white-space:nowrap;font-weight:600}.toolbar{display:flex;gap:12px;margin-bottom:28px;align-items:center}.search{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:8px;margin:0;flex:1;padding:0 14px;font-size:22px;gap:9px}.search input:not([type=radio]){border:0;margin:0;padding:12px 0;font-size:12px;background:transparent}.toolbar select{width:auto;min-width:130px;font-size:11px;padding:12px;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px}.section-heading h2{font-size:14px;font-weight:600;margin:0}.section-heading span{font-size:11px;color:var(--muted)}.table-wrap{border:1px solid var(--line);border-radius:10px;background:white;overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:8px;letter-spacing:1px;font-weight:600;color:#8c968a;background:#fafbf7;padding:14px 20px}td{border-top:1px solid #eef1ea;padding:17px 20px;font-size:11px}td:first-child{min-width:240px}td:nth-child(4){color:var(--muted)}.file-cell{display:flex;gap:12px;align-items:center}.file-icon{width:34px;height:40px;border:1px solid #eddaca;border-radius:5px;display:grid;place-items:center;background:#fbf3ed;color:#b08059;font-size:8px;font-weight:bold;flex-shrink:0}.file-icon.doc{background:#eef3fb;border-color:#d8e3f2;color:#6d8fb5}.file-icon.image{background:#f4eff9;border-color:#e4d9f0;color:#9276ac}.filename{font-size:12px;font-weight:600;max-width:280px;overflow:hidden;text-overflow:ellipsis}.filesize{font-size:10px;color:#98a18f;margin-top:3px}.badge{border-radius:5px;padding:5px 8px;background:#edf4e9;color:#658252;font-size:9px}.badge.private{background:#f3f1ec;color:#8d846e}.badge.link{background:#edf2f7;color:#6c88a1}.row-actions{display:flex;gap:5px}.row-actions button{padding:7px;font-size:13px;border-radius:5px}.row-actions button:hover{background:#edf3e8}.empty{text-align:center;padding:55px 20px}.empty>span{font-size:44px;color:#a0b583}.empty h3{font-size:19px;margin:15px 0 6px}.empty p{font-size:12px;color:var(--muted);margin-bottom:20px}.breadcrumbs{display:flex;gap:5px;font-size:12px;flex-wrap:wrap}.breadcrumbs button{padding:4px;color:var(--muted)}.folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:15px}.folder-card{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:9px;padding:12px;background:white}.folder-open{display:flex;align-items:center;gap:10px;min-width:0;text-align:left;font-size:12px;font-weight:600}.folder-open span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-symbol{font-size:27px;color:#adb780}.folder-actions{display:flex}.folder-actions button{font-size:12px;color:#8b9682;padding:4px}footer{display:flex;justify-content:space-between;color:#9da696;font-size:9px;margin-top:32px}dialog{border:1px solid var(--line);border-radius:15px;padding:28px;max-width:470px;width:calc(100% - 30px);color:var(--ink);max-height:90vh;overflow:auto;box-shadow:0 20px 100px #12342130}dialog::backdrop{background:#1b302660;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.dialog-heading h2{font-size:22px;letter-spacing:-.6px;margin:0}.close{font-size:28px;color:var(--muted)}dialog p{font-size:12px;color:var(--muted)}.dropzone{text-align:center;border:1px dashed #aebb98;border-radius:9px;padding:20px;background:#f7f9f1;cursor:pointer;margin:22px 0 8px}.dropzone>span{font-size:35px;display:block}.dropzone strong,.dropzone small{display:block}.dropzone input{font-size:11px;margin-top:15px;max-width:100%}fieldset{border:0;padding:0;margin:18px 0}legend{font-size:12px;font-weight:600;margin-bottom:10px}.choice{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:7px;margin-bottom:8px;cursor:pointer}.choice input{accent-color:var(--green)}.choice strong,.choice small{display:block}.edit-actions{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}.edit-actions button{font-size:11px}.danger{color:#a14b42;margin-left:auto}.toast, #toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:9px;background:#234b3b;color:white;box-shadow:0 5px 30px #102f3025;z-index:10;max-width:90vw;font-size:12px}#sharedBanner{border:1px solid #bacfa7;border-radius:10px;background:#f1f6e8;padding:20px;margin-bottom:20px}#sharedBanner h3{margin:0 0 5px}#sharedBanner p{font-size:12px}#linkValue{margin:20px 0} @media(max-width:1100px){aside{padding:25px 16px}.workspace{grid-template-columns:215px 1fr}.content{padding:30px 24px}header{padding:0 24px}.welcome-banner{padding:22px 18px}.welcome-banner button{white-space:normal}.toolbar{flex-wrap:wrap}.search{min-width:200px}.online-dot{display:none}}@media(max-width:760px){.workspace{display:block}aside{position:relative;height:auto;padding:18px;border-right:0;border-bottom:1px solid var(--line)}aside .brand{font-size:25px}.workspace-tag,.nav-label,.sidebar-note,.storage,aside>.primary{display:none}nav{display:flex;overflow:auto;margin-top:17px;gap:6px}nav button{white-space:nowrap;width:auto;font-size:11px;padding:8px}nav button span{width:20px}.profile{position:absolute;right:18px;top:15px;margin:0;padding:0;border:0}.profile strong{display:none}.profile .avatar{width:28px;height:28px}header{display:none}.content{padding:28px 18px}.page-title{align-items:flex-start}.page-title h1{font-size:29px}.page-title p{font-size:11px}.page-title .eyebrow{font-size:7px}.welcome-banner{gap:14px}.welcome-banner h2{font-size:14px}.welcome-banner button{display:none}.welcome-banner p{font-size:10px}.banner-symbol{font-size:40px}.toolbar{gap:8px}.search{flex-basis:100%}.toolbar select{flex:1}.auth-shell{display:block}.auth-story{display:none}.auth-form-wrap{min-height:100vh}.auth-card:before{content:'◈ commonroom.';font-size:28px;font-weight:700;display:block;margin-bottom:50px}.auth-card .eyebrow{font-size:8px}footer span:last-child{display:none}}
.university-meme{max-width:360px;margin:25px 0}.university-meme img{display:block;width:100%;border-radius:12px;box-shadow:0 10px 25px #243b2720}.university-meme figcaption{font-size:11px;text-align:center;color:#627558;margin-top:8px}.folder-create{margin-top:10px;font-size:12px}.view-switch{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:0 0 15px}.view-switch span{font-size:11px;color:var(--muted);margin-right:8px}.view-switch button{padding:8px 13px;border:1px solid var(--line);border-radius:6px;background:white;font-size:12px}.view-switch button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.document-card{background:white;border:1px solid var(--line);border-radius:12px;padding:20px;min-height:210px;display:flex;flex-direction:column}.card-top{display:flex;justify-content:space-between;align-items:center}.document-card h3{font-size:14px;overflow-wrap:anywhere;margin:24px 0 4px}.document-card p{font-size:11px;color:var(--muted);margin:0 0 20px}.document-card .row-actions{margin-top:auto;border-top:1px solid var(--line);padding-top:10px}.admin-stats{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:20px}.admin-stats strong{background:#e9efdc;padding:16px;border-radius:8px;font-size:13px}#adminDelete{padding:15px 0}.row-actions .danger{font-size:11px}.auth-story{min-height:900px} @media(max-width:760px){.folder-create{position:static;margin:15px 0 0}.file-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}.document-card{padding:15px}.auth-story{display:block;min-height:0;padding:25px}.auth-story>.brand,.auth-story>div>.eyebrow,.auth-story h1,.auth-story>div>p,.story-footer{display:none}.university-meme{max-width:220px;margin:auto}.auth-form-wrap{min-height:0;padding:25px}.auth-card:before{margin-bottom:25px}.sidebar-note{display:none}}
/* StudentCloud layout */
.brand{letter-spacing:-1px;font-weight:750}.auth-mode{overflow-x:hidden}.auth-shell{height:100dvh;min-height:0;grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}.auth-story{display:block;padding:0;margin:0;min-height:0;height:100dvh;overflow:hidden;background:#252c20}.login-meme{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.auth-form-wrap{min-height:0;height:100dvh;padding:24px;overflow-y:auto}.auth-card{max-width:370px}.auth-card:before{display:none}.auth-brand{font-size:28px;margin-bottom:16px}.auth-card h2{font-size:29px;margin:8px 0 16px}.tabs{margin:16px 0}.auth-card label{margin-bottom:12px}.auth-card input:not([type=checkbox]){padding:10px 12px}.remember{display:flex;align-items:center;gap:8px;font-weight:400;font-size:12px;margin-top:16px}.remember input{accent-color:var(--green);width:16px;height:16px;padding:0;margin:0}.auth-card .error:empty{display:none}.auth-card .error{margin:9px 0}.auth-card #emailHint{margin:-5px 0 10px;font-size:10px}.workspace{height:100dvh;min-height:0;overflow:hidden}aside{height:100dvh;position:relative;overflow:hidden;padding:28px 20px;gap:0}aside>.brand{font-size:25px;margin-bottom:28px}aside nav{min-height:0;overflow-y:auto;flex-shrink:1}.nav-label{margin-top:24px}.account-panel{margin-top:auto;padding-top:20px;flex-shrink:0}.storage{display:block;margin:0;padding:0}.storage div{font-size:10px}.profile{position:static;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.profile strong{display:block}.profile .avatar{width:35px;height:35px}.profile button{font-size:12px}main{height:100dvh;overflow-y:auto}.content{padding-top:30px}.page-title{margin-bottom:24px}.page-title h1{margin:0;font-size:34px}.row-actions{flex-wrap:wrap}.row-actions button{font-size:11px}.filename{white-space:normal}.document-card h3{margin-top:18px}.document-card .row-actions{gap:3px}.preview-dialog{width:min(1000px,95vw);max-width:1000px;height:min(850px,92dvh);padding:22px;overflow:hidden}.preview-dialog[open]{display:flex;flex-direction:column}.preview-dialog h2{font-size:18px;overflow-wrap:anywhere}.preview-toolbar{display:flex;gap:10px;flex-shrink:0}.preview-toolbar button{font-size:12px}.preview-dialog .hint{flex-shrink:0}#previewBody{flex:1;min-height:0;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#f5f6f1}#previewBody iframe{display:block;width:100%;height:100%;border:0;background:white}#previewBody img{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto}#previewBody pre{font:13px/1.65 monospace;padding:20px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}#uploadProgress{width:100%;height:10px;accent-color:var(--green)}#uploadStatus:empty{display:none}#sharedBanner .row-actions{margin-top:10px}.auth-story:before{display:none}
@media(max-width:760px){.auth-shell{grid-template-columns:minmax(0,.8fr) minmax(290px,1fr);display:grid}.auth-story{display:block;min-height:0;padding:0}.auth-form-wrap{padding:20px}.auth-card h2{font-size:25px}.auth-brand{font-size:25px}.workspace{display:block;position:relative}aside{height:auto;padding:15px 18px;overflow:visible}aside>.brand{font-size:25px;margin-bottom:12px}aside>.primary{display:inline-block;padding:9px 12px}aside>.folder-create{display:inline-block;margin:0 0 0 8px;padding:8px 10px}aside nav{margin:12px 0 0;overflow:auto}nav button{flex-shrink:0}main{height:calc(100dvh - 161px);padding-bottom:116px}.content{padding:22px 16px}.account-panel{position:fixed;bottom:0;left:0;right:0;z-index:3;display:flex;align-items:center;gap:20px;padding:13px 18px;background:white;border-top:1px solid var(--line);height:100px}.storage{display:block;flex:1;min-width:0}.profile{position:static;display:flex;margin:0;padding:0;border:0;max-width:48%}.profile strong{display:block;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile button{margin-top:4px}.profile .avatar{width:30px;height:30px}.page-title h1{font-size:27px}.page-title .secondary{padding:8px 10px;font-size:10px}.preview-dialog{padding:16px}}
@media(max-width:520px){.auth-shell{display:flex;align-items:center;justify-content:center;position:relative;background:#26351e}.auth-story{position:absolute;inset:0;width:100%;height:100%;display:block}.login-meme{object-fit:cover}.auth-form-wrap{position:relative;width:100%;height:100dvh;background:#f7f9f5eF;padding:18px;display:flex;align-items:center}.auth-card{max-width:340px;margin:auto}.auth-brand{margin-bottom:12px}.auth-card h2{font-size:24px}.auth-card .tabs{margin:12px 0}.auth-card label{margin-bottom:10px}.auth-card .primary{padding:11px}.auth-card input:not([type=checkbox]){margin-top:5px}.auth-card .remember{margin:12px 0}}
@media(max-height:650px){.auth-form-wrap{align-items:flex-start;padding-top:12px;padding-bottom:12px}.auth-card{margin:auto}.auth-brand{font-size:23px;margin-bottom:8px}.auth-card h2{font-size:22px;margin:5px 0 10px}.auth-card .tabs{margin:10px 0}.auth-card label{margin-bottom:8px}.auth-card input:not([type=checkbox]){padding:8px 10px}.auth-card .remember{margin:8px 0}.auth-card .primary{padding:10px}.auth-card #emailHint{font-size:9px}.nav-label{margin-top:14px}aside>.brand{margin-bottom:18px}aside{padding-top:18px;padding-bottom:18px}}
.login-meme{object-fit:contain}.auth-story{background:#33382e}
@media(max-width:760px){.workspace{display:flex;flex-direction:column}aside{flex-shrink:0}main{height:auto;flex:1;min-height:0}}

.folder-name{display:block;overflow:hidden;text-overflow:ellipsis}.folder-author{display:block;margin-top:3px;font-size:10px;font-weight:400;color:var(--muted)}.folder-open>span:last-child{min-width:0}.folder-actions{flex-shrink:0}
