:root{color-scheme:light;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:#f0f5fa;color:#1f2937;line-height:1.5;font-weight:400}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(circle at top left,#fffffff2,#f0f5fae6 28%,#e4edf6cc)}button,input,textarea{font:inherit}button{border:0;cursor:pointer}.page-shell{min-height:100vh}.topbar{height:64px;padding:0 32px;background:#ffffffeb;border-bottom:1px solid #dbeafe;display:flex;align-items:center;justify-content:space-between;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-group,.brand-copy,.tag-row,.file-card-top,.file-title-wrap,.file-meta-row,.archive-preview{display:flex;align-items:center}.brand-mark{width:28px;height:28px;border-radius:8px;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700;margin-right:12px;box-shadow:0 8px 24px #2563eb2e}.brand-name{font-weight:600;color:#111827}.brand-divider{margin:0 10px;color:#d1d5db}.brand-subtitle{color:#6b7280;font-size:14px}.tag-row{gap:8px;flex-wrap:wrap;justify-content:flex-end}.top-tag,.hint-badge,.count-badge{border-radius:999px;border:1px solid #dbeafe;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:600}.top-tag{padding:6px 10px}.dashboard{max-width:1500px;margin:0 auto;min-height:calc(100vh - 64px);padding:24px;display:grid;grid-template-columns:minmax(260px,.95fr) minmax(420px,1.45fr) minmax(300px,1fr);gap:20px}.panel{min-height:calc(100vh - 112px);background:#fffffff5;border:1px solid #eef4ff;border-radius:20px;box-shadow:0 18px 40px #0f172a0f;padding:20px;display:flex;flex-direction:column}.panel-head{padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #edf4ff}.panel-head h2{margin:0 0 4px;color:#173d82;font-size:15px}.panel-head p{margin:0;font-size:12px;color:#8a94a6}.panel-head-split{display:flex;justify-content:space-between;gap:12px}.hint-badge{margin-top:4px;display:inline-block;padding:4px 8px}.count-badge{padding:7px 10px;white-space:nowrap;align-self:flex-start}.panel-body{flex:1;min-height:0}.field-stack{display:flex;flex-direction:column;gap:14px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.text-input,.text-area,.remark-input,.file-title-input{width:100%;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;color:#1f2937;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.text-input,.remark-input{min-height:44px;padding:0 14px;font-size:13px}.text-area{min-height:190px;padding:14px;resize:vertical;font-size:13px;background:#eff6ff99;border-color:#dbeafe}.textarea-block label{display:block;margin-bottom:8px;color:#1d4ed8;font-size:12px;font-weight:700}.text-input:focus,.text-area:focus,.remark-input:focus,.file-title-input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa29}.message-box{border-radius:14px;padding:12px 14px;font-size:13px}.message-box.is-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.message-box.is-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.upload-trigger,.archive-dropzone{width:100%;border:1px dashed #93c5fd;background:#f8fafc;border-radius:14px;color:#2563eb;transition:all .2s ease}.upload-trigger{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:14px;font-weight:600;font-size:12px}.archive-dropzone{min-height:210px;display:grid;place-items:center;text-align:center;gap:10px;padding:28px}.upload-trigger:hover,.archive-dropzone:hover,.upload-trigger.is-active,.archive-dropzone.is-active{border-color:#3b82f6;background:#eff6ff}.plus-mark,.archive-icon,.file-badge{display:inline-grid;place-items:center;border-radius:999px;font-weight:700}.plus-mark{width:18px;height:18px;background:#dbeafe}.archive-icon{width:56px;height:56px;background:linear-gradient(160deg,#dbeafe,#eff6ff);color:#2563eb;border:1px solid #bfdbfe}.scroll-area{overflow:auto;padding-right:4px}.file-list{display:flex;flex-direction:column;gap:12px}.file-card{border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#fff;box-shadow:0 10px 24px #0f172a0a}.file-card-top{justify-content:space-between;gap:12px;border-bottom:1px dashed #edf2f7;padding-bottom:10px;margin-bottom:8px}.file-title-wrap{gap:8px;flex:1;min-width:0}.file-badge{min-width:34px;height:22px;background:#eff6ff;color:#2563eb;font-size:10px}.file-title-input{border:none;padding:0;background:transparent;font-size:13px;font-weight:700;min-width:0;box-shadow:none}.file-ext,.file-origin,.file-size{font-size:11px;color:#94a3b8}.file-meta-row{justify-content:space-between;gap:12px;margin-bottom:10px}.file-origin{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remark-input{background:#eff6ff99;border-color:#dbeafe}.icon-button{width:28px;height:28px;border-radius:999px;background:transparent;color:#94a3b8;font-size:18px}.icon-button:hover{background:#fef2f2;color:#dc2626}.archive-body{display:flex;flex-direction:column}.archive-preview{justify-content:space-between;gap:16px;padding:14px;border-radius:16px;background:#eff6ff;border:1px solid #dbeafe}.archive-name{font-size:14px;font-weight:700;color:#1e3a8a}.archive-size{font-size:12px;color:#3b82f6;margin-top:4px}.empty-state{min-height:160px;display:grid;place-items:center;color:#60a5fa;font-size:13px}.panel-footer{margin-top:16px;padding-top:16px;border-top:1px solid #f1f5f9}.primary-button{width:100%;min-height:50px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-size:13px;font-weight:700;box-shadow:0 16px 30px #2563eb3d}.primary-button:hover:not(:disabled){filter:brightness(1.02)}.primary-button:disabled{cursor:wait;opacity:.72}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:center;z-index:50;text-align:center}.spinner{width:42px;height:42px;border:4px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1180px){.dashboard{grid-template-columns:1fr}.panel{min-height:auto}}@media (max-width: 720px){.topbar{height:auto;padding:16px;align-items:flex-start;gap:12px;flex-direction:column}.dashboard{padding:16px}.field-grid,.panel-head-split{grid-template-columns:1fr;display:grid}.tag-row{justify-content:flex-start}}
