:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#25334d;background:#f4f6f9;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:230px;background:#172e44;color:#e6edf4;padding:38px 26px;position:fixed;inset:0 auto 0 0}.brand{font-size:25px;font-weight:650;letter-spacing:2px}.brand span{display:block;font-size:13px;font-weight:400;letter-spacing:3px;margin:13px 0 24px;color:#a8bdcd}.badge{display:inline-block;border:1px solid #6c879c;border-radius:20px;padding:4px 12px;font-size:12px}nav{display:grid;gap:12px;margin-top:50px}nav button{background:none;color:#b8c8d5;text-align:left;border:0;padding:14px}nav button.active{background:#284962;color:white}.aside-foot{position:absolute;bottom:40px;color:#8fa8ba;line-height:2;font-size:12px}main{margin-left:230px;padding:42px 5%;width:calc(100% - 230px);max-width:1800px}header{display:flex;justify-content:space-between;gap:20px;margin:0 0 34px}.eyebrow{color:#587a96;letter-spacing:3px;font-size:11px;font-weight:bold}h1{font-size:28px;letter-spacing:.3px;margin:14px 0}h2{font-size:19px;margin:0 0 12px}h3{font-size:15px;margin:24px 0 12px}p{color:#6b7b8e;line-height:1.7;margin:9px 0}.panel{background:#fff;border:1px solid #dce3eb;border-radius:12px;padding:26px;margin-bottom:28px;box-shadow:0 4px 18px #20365304}.login{max-width:430px;margin:55px auto}.login form{display:grid;gap:16px}label{display:grid;gap:8px;margin-bottom:14px;color:#52647a}input,select,textarea{width:100%;border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:10px 12px;color:#25334d;font:inherit}textarea{min-height:110px;resize:vertical}button,.file-button{border:1px solid #244c70;background:#244c70;color:#fff;border-radius:6px;font:inherit;font-weight:550;padding:10px 17px;cursor:pointer;display:inline-block;margin:0}.secondary{color:#385771;background:#fff;border-color:#cbd8e2}button:hover,.file-button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}.upload-actions{display:flex;gap:12px;margin-top:20px}.upload-panel{border-left:4px solid #629895}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-head form{display:flex;gap:8px}.section-head form input{width:280px}.hint{font-size:12px;color:#8090a2}.table-wrap{border:1px solid #dce3eb;border-radius:9px;background:#fff;overflow:auto;margin:18px 0}table{border-collapse:collapse;width:100%}th{text-align:left;background:#eaf0f5;color:#596c81;font-size:12px;font-weight:600;padding:14px 18px}td{border-top:1px solid #edf1f5;padding:16px 18px}td:first-child{min-width:220px}.doc-name{background:none;border:0;color:#244c70;padding:0;text-align:left;max-width:420px;overflow-wrap:anywhere}.tag{font-size:12px;border-radius:4px;background:#edf3f9;padding:4px 7px;white-space:nowrap}.tag.warn{color:#96662a;background:#fff3de}.empty{text-align:center;background:#fff;padding:65px;color:#7d8da0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.version{border-bottom:1px solid #e8edf3;padding:12px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}a{color:#2d637f}.notice{color:#8b682f;background:#fff8e9;padding:12px;border-radius:5px;overflow-wrap:anywhere}.chunk{border-left:2px solid #acc5d9;padding-left:14px;margin:14px 0}.chunk pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;font-family:inherit;font-size:13px}.chunk small{color:#64819a}#message{position:fixed;right:30px;bottom:30px;padding:14px 22px;background:#213e56;color:white;border-radius:8px;max-width:550px;display:none;white-space:pre-wrap}footer{margin:40px 0;color:#8999a9;font-size:12px}#identity{white-space:nowrap;color:#73879a}#identity button{margin-left:10px}#text-box{margin-top:20px}[hidden]{display:none!important}@media(max-width:900px){aside{width:170px;padding:25px 18px}main{margin-left:170px;width:calc(100% - 170px);padding:28px 4%}.section-head{align-items:flex-start;flex-direction:column}.section-head form input{width:200px}.detail-grid{grid-template-columns:1fr}h1{font-size:23px}}@media(max-width:620px){aside{display:none}main{margin:0;width:100%}.upload-actions{flex-wrap:wrap}header{flex-direction:column}.section-head form{flex-wrap:wrap}}

nav a{color:#c6d9e8;text-decoration:none;padding:14px 10px;border-radius:6px}nav a[aria-current]{background:#284962;color:white}.browse-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px}.directory{padding:22px 16px}.category-button{display:block;background:transparent;color:#536c80;border:0;width:100%;text-align:left;font-size:13px;padding:11px 8px;white-space:pre-wrap;overflow-wrap:anywhere}.category-button.active{background:#e8f1f8;color:#204965}.browse-file{display:flex;align-items:center;gap:16px;border-bottom:1px solid #e8edf2;padding:20px 0}.file-type{background:#edf3f9;color:#56758c;font-size:11px;min-width:48px;text-align:center;border-radius:8px;padding:16px 5px}.preview-toolbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.preview-toolbar label{min-width:180px}.pdf-preview{width:100%;height:70vh;border:1px solid #dce3eb;border-radius:6px}.image-preview{display:block;max-width:100%;max-height:80vh;object-fit:contain;margin:auto}#category-form{max-width:600px;border-top:1px solid #e1e8ef;margin-top:28px}.file-panel .section-head{flex-wrap:wrap}.file-panel .section-head form input{width:210px}.mobile-home{display:none}@media(max-width:1100px){.browse-layout{grid-template-columns:200px minmax(0,1fr)}}@media(max-width:750px){.browse-layout{grid-template-columns:1fr}.directory #categories{max-height:230px;overflow:auto}.mobile-home{display:inline}.preview-toolbar{align-items:stretch;flex-direction:column}}

.sheet-toolbar{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:16px 0}.sheet-toolbar label{margin:0;min-width:130px}.sheet-scroll{overflow:auto;max-height:75vh;border:1px solid #c4ced9;border-radius:6px;background:white}.sheet-table{table-layout:fixed;border-collapse:collapse;font-size:13px}.sheet-table td{border:1px solid #a8b3bf;padding:7px 6px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4;min-width:0}.sheet-table td:first-child{min-width:0}.sheet-table th{border:1px solid #cad3dd;font-size:11px;padding:5px;color:#65788b;background:#edf2f7;text-align:center}.sheet-table thead th{position:sticky;top:0;z-index:2}.sheet-table tbody th{position:sticky;left:0;z-index:1}.sheet-table .formula-cell{cursor:help}.sheet-light td{font-size:13px;color:#25334d;background:white}.sheet-wide aside{display:none}.sheet-wide main{margin-left:0;width:100%;max-width:none;padding:24px 2%}.sheet-wide #viewer{padding:20px}

.positioned-scroll{overflow:auto;max-height:75vh;background:#f0f3f7;padding:16px;border:1px solid #d3dce6;border-radius:6px}.positioned-page{display:block;background:white;box-shadow:0 1px 7px #20365315;height:auto;max-width:none;user-select:text;font-family:"Microsoft YaHei",sans-serif}.ocr-uncertain{fill:#94652b}.flow-paragraph{color:#25334d;white-space:pre-wrap;line-height:1.85}.flow-table td{white-space:pre-wrap;border:1px solid #aebac8;min-width:90px;padding:12px;vertical-align:top}.flow-table{background:white}.positioned-scroll:has(.flow-paragraph){background:white}
/* Collapsible directory stays visible beside both the file list and preview. */
.browse-layout{grid-template-columns:270px minmax(0,1fr);align-items:start}.directory{position:sticky;top:18px;align-self:start;grid-column:1;grid-row:1 / span 2;max-height:calc(100vh - 36px);display:flex;flex-direction:column}.file-panel,#viewer{grid-column:2;min-width:0}#viewer[hidden]{display:none}.directory-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.directory-heading h2{margin:0}.category-actions{display:flex;gap:8px;margin:14px 0}.category-actions button{padding:7px 10px;font-size:12px}.text-button{background:none;color:#56758c;border:0;padding:4px;font-size:12px}#categories{overflow-y:auto;min-height:80px;overscroll-behavior:contain}.directory .hint{font-size:11px;margin-bottom:0}.category-row{display:flex;align-items:center;min-width:0}.category-button{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:10px 8px}.category-label{flex:1}.category-count{font-size:11px;background:#edf2f6;border-radius:10px;padding:1px 6px;font-variant-numeric:tabular-nums}.category-branch>summary{display:flex;align-items:center;cursor:pointer;list-style:none}.category-branch>summary::-webkit-details-marker{display:none}.category-branch>summary:before{content:'›';font-size:20px;width:18px;flex-shrink:0;color:#7790a3}.category-branch[open]>summary:before{content:'⌄'}.category-branch>summary>.category-row{flex:1;min-width:0}.category-children{margin-left:12px;padding-left:7px;border-left:1px solid #dfe7ee}.category-leaf{padding-left:18px}.category-edit{background:none;border:0;color:#56758c;padding:4px 8px;font-size:20px}.category-button:hover{background:#f0f5f9}.category-branch{margin:3px 0}#category-dialog{width:min(480px,90vw);border:1px solid #dce3eb;border-radius:14px;padding:24px;color:#25334d}#category-dialog::backdrop{background:#162e4480}#category-dialog form{display:block}#category-dialog-message{color:#a43727}#category-order-buttons{display:flex;gap:10px;margin:12px 0}#category-order-buttons[hidden]{display:none}@media(max-width:1100px){.browse-layout{grid-template-columns:230px minmax(0,1fr)}}@media(max-width:750px){.browse-layout{display:block}.directory{position:sticky;top:0;z-index:10;max-height:35vh;margin-bottom:18px}.directory #categories{max-height:22vh}.directory .hint{display:none}.file-panel,#viewer{width:100%}}
.permission-person{display:flex;align-items:center;gap:10px;margin:12px 0}.permission-person input{width:auto;margin:0}.trash-row{padding:14px 0;border-bottom:1px solid #dce5ed}#permission-dialog,#trash-dialog{width:min(640px,90vw);max-height:85vh;overflow:auto}.category-row .category-edit{flex-shrink:0;min-width:32px;padding:5px;font-size:12px}#delete-file{color:#a43535}.category-actions{flex-wrap:wrap}
#permission-dialog,#trash-dialog{border:1px solid #dce3eb;border-radius:14px;padding:24px;color:#25334d}#permission-dialog::backdrop,#trash-dialog::backdrop{background:#162e4480}#permission-error{color:#a43727}

/* File-list actions remain visible beside long document titles. */
.browse-file>div{flex:1;min-width:0}.browse-file .file-delete{margin-left:auto;flex:0 0 auto;align-self:center;color:#a33b3b;border-color:#e5bcbc;white-space:nowrap}.browse-file .file-delete:hover{background:#fff2f2}
