:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#223329;background:#f5f7f4;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{border:0;border-radius:9px;background:#285b41;color:white;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.4;cursor:default}input,select,textarea{width:100%;padding:12px;border:1px solid #dce3dc;border-radius:8px;background:white;color:#24382b}input:focus,select:focus,textarea:focus{outline:2px solid #80aa8b;outline-offset:1px}label{display:block;margin:18px 0 8px;line-height:2}h1{font-size:32px;letter-spacing:-1px;margin:8px 0 12px}h2{font-size:20px;margin-top:30px}.muted{color:#778177;font-size:13px;line-height:1.7}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#859486}.mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#285b41;color:white;font-size:22px;font-weight:700}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 20%,#dae8db,transparent 60%),#f5f7f4}.login-card{width:min(420px,90vw);padding:40px;border:1px solid #e0e7df;background:#fff;border-radius:20px;box-shadow:0 20px 80px #264b2910}.login-card button{width:100%;margin-top:24px}aside{position:fixed;width:238px;inset:0 auto 0 0;background:#fff;border-right:1px solid #e2e8e0;padding:28px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;margin-bottom:42px;font-size:17px}.nav{background:transparent;color:#657667;text-align:left;margin:5px 0}.nav.active{background:#eaf1e9;color:#285b41;font-weight:700}.side-note{margin-top:30px;color:#9aa397;font-size:12px;line-height:1.9}.account{margin-top:auto;border-top:1px solid #edf0eb;padding-top:20px;display:flex;flex-direction:column;gap:8px}.text-button{color:#788378;background:none;text-align:left;padding:4px 0;font-size:12px}main{margin-left:238px;padding:42px 48px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.secondary{background:white;border:1px solid #d9e1d7;color:#46604a}.toolbar{display:flex;gap:12px}.toolbar input{max-width:480px}.toolbar select{max-width:300px}.summary{display:flex;justify-content:space-between;gap:20px;margin:25px 0 18px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:20px}.card{overflow:hidden;background:white;border:1px solid #e0e7de;border-radius:13px}.art{height:175px;background:#edf0e9;display:grid;place-items:center;position:relative}.art img{width:100%;height:100%;object-fit:contain}.art button{position:absolute;inset:0;background:transparent;border-radius:0;width:100%;height:100%;padding:0}.file-icon{color:#879582;font-size:27px;letter-spacing:2px}.card-info{padding:14px}.file-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:7px}.file-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#82907d;gap:8px}.file-meta a{color:#285b41;text-decoration:none}.file-folder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#929a8d;margin:8px 0 0}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:30px 0}.empty{padding:70px 10px;grid-column:1/-1;text-align:center;color:#83907e}.notice{padding:18px;background:#eaf0e7;line-height:1.8;border-radius:10px;margin-bottom:16px;overflow-wrap:anywhere}.user-row,.audit-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #e0e7de;padding:16px 0}.audit-row{font-size:12px;color:#71806e;overflow-wrap:anywhere}.user-details{overflow-wrap:anywhere}dialog{border:1px solid #dae3d5;border-radius:16px;padding:28px;width:min(540px,94vw);max-height:90vh;overflow:auto;color:inherit}dialog::backdrop{background:#14221999}#preview{width:min(1100px,95vw)}#preview-content{min-height:180px;display:grid;place-items:center;background:#f1f3ee;margin-top:12px}#preview-content img{max-width:100%;max-height:65vh}.close{display:block;margin-left:auto}.actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto}.error{color:#a83b34}#toast{position:fixed;right:24px;top:20px;background:#253d2c;color:white;border-radius:10px;padding:14px 20px;z-index:10;display:none;max-width:80vw}[hidden]{display:none!important}@media(max-width:800px){aside{width:185px;padding:20px 14px}main{margin-left:185px;padding:25px 20px}.toolbar,.summary{flex-direction:column}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media(max-width:540px){aside{position:static;width:auto}.brand{margin-bottom:12px}.side-note{display:none}.account{flex-direction:row;align-items:center;margin-top:12px}.nav{display:inline-block}main{margin-left:0;padding:24px 16px}header{align-items:flex-start}h1{font-size:26px}.art{height:145px}}
.art .file-icon{position:absolute;pointer-events:none}.art img{position:absolute;inset:0}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:22px 0}.crumb{padding:7px 9px;background:transparent;color:#285b41}.crumb:last-child{font-weight:700;background:#e8eee4}.crumb-separator{color:#a0ac99}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.folder-card{display:flex;align-items:flex-start;flex-direction:column;gap:10px;text-align:left;background:#fff;color:#294532;border:1px solid #dce5d7;padding:20px}.folder-card strong{overflow-wrap:anywhere}.folder-symbol{font-size:30px;color:#b69a55}.toolbar #search{flex:1}
.video-badge{position:absolute;bottom:8px;left:8px;pointer-events:none;background:#15291ed9;color:white;font-size:10px;padding:5px 8px;border-radius:5px}
.selection-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0;position:sticky;top:0;z-index:3;padding:12px;background:#f5f7f4f5;border-bottom:1px solid #e0e7de}.card.selected{border-color:#285b41;box-shadow:0 0 0 2px #285b41}.select-file{position:absolute;top:10px;left:10px;width:22px;height:22px;z-index:2;accent-color:#285b41;cursor:pointer}.selecting{user-select:none;cursor:crosshair}.art img{-webkit-user-drag:none}#selection-box{position:fixed;z-index:20;border:1px solid #285b41;background:#285b4126;pointer-events:none}
