:root{--navy:#0b2847;--blue:#1266b1;--blue2:#0d4d8f;--cyan:#25b7ca;--ink:#142235;--muted:#68778b;--line:#dce5ed;--bg:#f3f7fa;--white:#fff;--shadow:0 18px 50px rgba(19,48,77,.12)}*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:16px}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:white}.brand-panel{position:relative;overflow:hidden;padding:9vw;display:flex;align-items:center;gap:28px;color:white;background:linear-gradient(145deg,#071f38 0%,#0b477f 62%,#1685a4 100%)}.brand-panel:after{content:"";position:absolute;inset:auto -15% -30% 20%;height:58%;border:1px solid rgba(255,255,255,.16);transform:skewY(-9deg)}.brand-mark{width:86px;height:86px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6);border-radius:26px;background:rgba(255,255,255,.1);font-size:28px;font-weight:800;letter-spacing:-2px;backdrop-filter:blur(8px)}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:15px;flex:none}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;color:#85deea;margin:0 0 12px}.eyebrow.dark{color:var(--blue)}h1{font-size:clamp(32px,4vw,62px);line-height:1.1;margin:0;max-width:650px}.brand-copy{font-size:18px;color:#cce5f1}.orb{position:absolute;border-radius:50%;background:rgba(63,198,215,.18);filter:blur(2px)}.orb-one{width:240px;height:240px;top:-80px;right:-60px}.orb-two{width:120px;height:120px;bottom:7%;left:12%}.login-panel{display:grid;place-items:center;padding:48px}.login-card{width:min(440px,100%)}.login-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:38px}.login-head h2{font-size:34px;margin:0}.lang-toggle,.icon-btn,.text-btn{border:0;background:transparent;cursor:pointer}.lang-toggle{padding:9px 12px;border:1px solid var(--line);border-radius:10px;font-weight:700;color:var(--blue)}label{display:block;margin:0 0 20px;font-weight:600}label>span{display:block;margin-bottom:9px}input{font:inherit}.login-card input{width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 15px;outline:none}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,102,177,.12)}.captcha-row{display:grid;grid-template-columns:1fr 120px;gap:12px}.captcha{border:0;border-radius:12px;background:repeating-linear-gradient(-15deg,#eef4f8,#eef4f8 8px,#e2edf4 8px,#e2edf4 10px);color:var(--navy);font:bold italic 23px Georgia;letter-spacing:6px;cursor:pointer}.primary-btn,.secondary-btn{border:0;border-radius:12px;padding:14px 20px;font:inherit;font-weight:700;cursor:pointer}.primary-btn{width:100%;color:white;background:linear-gradient(135deg,var(--blue2),var(--blue));box-shadow:0 8px 22px rgba(18,102,177,.2)}.primary-btn.compact{width:auto;padding:11px 16px}.secondary-btn{padding:10px 15px;color:var(--blue);background:#e9f2f8}.security-note{text-align:center;color:var(--muted);font-size:13px;margin-top:22px}.form-error{min-height:20px;color:#b52c2c;font-size:14px}.app-shell{min-height:100vh;display:grid;grid-template-columns:252px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;padding:24px 18px;background:var(--navy);color:white;display:flex;flex-direction:column}.sidebar-brand{display:flex;gap:12px;align-items:center;padding:0 10px 30px}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{font-size:12px;color:#91a9bf;margin-top:3px}.nav-item{width:100%;border:0;background:transparent;color:#b7cadb;display:flex;align-items:center;gap:13px;padding:13px 14px;margin:3px 0;border-radius:11px;font:inherit;text-align:left;cursor:pointer}.nav-item span{width:20px;text-align:center}.nav-item.active,.nav-item:hover{color:white;background:rgba(255,255,255,.1)}.nav-item.active:before{content:"";width:3px;height:22px;border-radius:4px;background:var(--cyan);margin-left:-14px}.storage{margin-top:auto;padding:16px 12px;background:rgba(255,255,255,.06);border-radius:12px;font-size:12px}.storage div:first-child{display:flex;justify-content:space-between}.meter{height:5px;background:rgba(255,255,255,.15);border-radius:5px;margin-top:12px}.meter i{display:block;width:4%;height:100%;background:var(--cyan);border-radius:5px}.workspace{grid-column:2}.topbar{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:5}.search{width:min(520px,45vw);display:flex;align-items:center;gap:9px;background:var(--bg);padding:11px 14px;border-radius:11px}.search input{border:0;outline:0;background:transparent;width:100%}.top-actions,.user-chip{display:flex;align-items:center;gap:13px}.user-chip>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#e5f0f7;color:var(--blue);font-weight:800}.user-chip b,.user-chip small{display:block}.user-chip small{font-size:12px;color:var(--muted)}.icon-btn{font-size:20px;color:var(--muted)}#mobileMenu{display:none}.text-btn{color:var(--blue);font-weight:600}.content{padding:34px;max-width:1540px;margin:auto}.page-head,.section-title{display:flex;justify-content:space-between;align-items:center}.page-head h2{font-size:29px;margin:4px 0 0}.breadcrumb{font-size:13px;color:var(--muted);margin:0}.head-actions{display:flex;gap:10px}.folder-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:28px 0}.folder-card{border:1px solid var(--line);background:white;border-radius:16px;padding:18px;min-height:124px;text-align:left;cursor:pointer;transition:.18s;box-shadow:0 4px 16px rgba(20,50,78,.04)}.folder-card:hover{transform:translateY(-3px);border-color:#9ac2df;box-shadow:var(--shadow)}.folder-card .folder-icon{display:block;font-size:25px;margin-bottom:18px;color:#e7a922}.folder-card b{display:block;font-size:16px}.folder-card small{display:block;color:var(--muted);margin-top:5px}.recent-panel{margin-top:34px}.section-title h3{font-size:20px}.file-table{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.file-row{display:grid;grid-template-columns:2fr 1.25fr 1fr .8fr;align-items:center;gap:15px;min-height:62px;padding:10px 18px;border-top:1px solid var(--line);font-size:14px}.file-row.header{border-top:0;background:#f8fafc;color:var(--muted);font-weight:600}.file-row>span:first-child{display:flex;align-items:center;gap:10px}.file-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-size:9px;font-weight:800}.pdf{background:#feeceb;color:#c33}.xls{background:#e7f6ed;color:#18844d}.doc{background:#e8f0fe;color:#2b61bb}dialog{border:0;border-radius:18px;width:min(820px,calc(100% - 34px));box-shadow:0 24px 80px rgba(7,31,56,.28);padding:26px}dialog::backdrop{background:rgba(7,31,56,.55);backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h3{font-size:25px;margin:0}.dialog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:22px}.dialog-item{padding:14px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fafcfd;text-align:left}.dialog-item:before{content:"▰";color:#e7a922;margin-right:10px}@media(max-width:1050px){.folder-grid{grid-template-columns:repeat(3,1fr)}.top-actions .user-chip div{display:none}}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.brand-panel{min-height:230px;padding:42px 28px}.brand-mark{width:60px;height:60px}.login-panel{padding:36px 24px}.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s;z-index:20}.sidebar.open{transform:translateX(0)}.workspace{margin:0}.topbar{padding:0 16px}.search{width:auto;flex:1;margin:0 12px}.top-actions .icon-btn,.user-chip{display:none}#mobileMenu{display:block}.content{padding:24px 16px}.folder-grid{grid-template-columns:repeat(2,1fr)}.page-head{align-items:flex-start}.head-actions .secondary-btn{display:none}.file-row{grid-template-columns:1fr}.file-row.header,.file-row>span:not(:first-child){display:none}.dialog-grid{grid-template-columns:1fr}}@media(max-width:430px){.folder-grid{grid-template-columns:1fr}.brand-panel{align-items:flex-start}.brand-copy{display:none}}
