:root{--bg:#f6f7fb;--panel:#fff;--side:#f3f4f7;--ink:#263b52;--text:#526178;--muted:#8a98aa;--line:#e8ecf2;--accent:#6b55dc;--accent-dark:#5b45c7;--soft:#eee9fa;--green:#4d927c;--red:#bd6c69;--radius:9px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.55 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;transition:background .15s,color .15s;border:0}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.45;cursor:default}svg.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}[hidden]{display:none!important}.preview-bar{height:31px;display:flex;align-items:center;gap:18px;padding:0 23px;background:#efeaf9;border-bottom:1px solid #e2daf3;color:#7f6ba5;font-size:10px;position:relative;z-index:60}.preview-bar strong{font-weight:600;white-space:nowrap;color:#7057aa}.preview-bar>span{font-size:10px}.preview-bar nav{margin-left:auto;display:flex;align-items:center;gap:15px;white-space:nowrap}.preview-bar a{padding:2px 0}.preview-bar a:hover{text-decoration:underline}.preview-bar .selected{color:#5844ad;font-weight:650}.preview-bar button{font-size:10px;background:none;color:#826eaa;padding:0}.admin-layout{display:flex;min-height:calc(100dvh - 31px)}.console-sidebar{position:sticky;top:0;align-self:flex-start;display:flex;flex-direction:column;width:224px;min-width:224px;height:calc(100dvh - 31px);background:var(--side);border-right:1px solid #e1e5ec;padding:0 12px}.console-brand{display:flex;align-items:center;gap:11px;margin:30px 6px 40px}.console-brand img{width:34px;height:34px;object-fit:contain}.console-brand strong{display:block;font-size:18px;font-weight:650;letter-spacing:-.5px;color:#163b58}.console-brand small{display:block;font-size:9px;letter-spacing:1.3px;color:#8193b0;margin-top:2px}.nav-caption{font-size:11px;color:#9aa6b8;margin:0 11px 13px}.console-nav{display:flex;flex-direction:column;gap:5px}.console-item{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;border-radius:7px;background:transparent;color:#596579;text-align:left;width:100%;font-size:13px}.console-item>svg{width:15px;height:15px;color:#8794a9;flex-shrink:0}.console-item:hover{background:#ececf5}.console-item.active{background:#e9e5f7;color:#6354cc;box-shadow:inset 2px 0 #7356ee;font-weight:550}.console-item.active>svg{color:#7356ee}.nav-dot{width:5px;height:5px;border-radius:50%;background:#7356ee;margin-left:auto}.console-footnote{border-top:1px solid #e1e6ee;margin:31px 10px 0;padding-top:20px;font-size:11px;line-height:1.9;color:#a1acbb}.root-profile{display:flex;align-items:center;gap:9px;margin:auto -12px 0;padding:17px 16px;border-top:1px solid #e1e6ee;font-size:12px}.avatar{height:29px;width:29px;border-radius:50%;display:grid;place-items:center;color:#7a65cc;background:#e9e3fa;font-size:12px;flex-shrink:0}.avatar.blue{background:#e5eef8;color:#708daa}.avatar.green{background:#e4f0e9;color:#65947c}.root-profile .icon-btn{margin-left:auto}.admin-main{flex:1;min-width:0;padding:34px 34px 50px}.admin-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:15px}.breadcrumb{display:flex;align-items:center;gap:9px;color:#91a0b3;font-size:11px}.breadcrumb svg{width:13px;height:13px}.breadcrumb span:last-child{color:#687b95}.root-chip{font-size:11px;color:#92a0b1;display:flex;align-items:center;gap:6px}.root-chip svg{width:14px;height:14px}.heading{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin-bottom:25px}.heading h1{font-size:25px;line-height:1.3;color:#273b52;font-weight:650;margin:0 0 10px;letter-spacing:-.5px}.heading p{font-size:12px;color:#90a0b1;margin:0;line-height:1.8}.actions{display:flex;gap:9px;align-items:center;padding-top:3px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 13px;background:#fff;border:1px solid #e1e6ee;border-radius:6px;font-size:12px;color:#697b93;font-weight:500;white-space:nowrap}.btn:hover{background:#f5f3fc;border-color:#d7cdef}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.soft{background:#f1edfb;border-color:#e5dcf7;color:#8067c6}.btn.danger{border-color:#ecd8d8;color:#b77373}.btn.tiny{min-height:30px;padding:5px 9px;font-size:11px}.btn.full{width:100%}.btn svg{width:16px;height:16px}.icon-btn{height:30px;width:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:transparent;color:#9aa7b9;flex-shrink:0}.icon-btn:hover{color:var(--accent);background:#f1edfb}.icon-btn svg{width:17px;height:17px}.text-btn{background:none;border:0;padding:3px 0;color:var(--accent);font-size:12px}.text-btn:hover{text-decoration:underline}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px}.summary-item{background:white;border:1px solid var(--line);border-radius:9px;padding:19px 20px}.summary-label{font-size:11px;color:#91a0b4;display:flex;align-items:center;gap:7px}.summary-label svg{height:15px;width:15px;color:#aa9acb}.summary-value{font-size:26px;color:#293d55;letter-spacing:-.7px;font-weight:600;margin:9px 0 5px;font-variant-numeric:tabular-nums}.summary-value span{font-size:12px;font-weight:400;letter-spacing:0;color:#98a5b7;margin-left:5px}.summary-note{font-size:10px;color:#a0adbd}.notice{display:flex;align-items:center;gap:10px;background:#f2f7f4;border:1px solid #e3ece7;color:#8b9e98;padding:11px 15px;font-size:11px;border-radius:7px;margin:0 0 24px;line-height:1.8}.notice svg{height:15px;width:15px;color:#7ea190}.notice strong{font-size:11px;font-weight:600;color:#799289}.notice .text-btn{margin-left:auto;font-size:11px;color:#738c85;white-space:nowrap}.tabs{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);margin:0 0 22px;padding-bottom:11px}.tabs button{padding:9px 14px;background:transparent;border-radius:6px;color:#92a0b3;font-size:12px}.tabs button.active{background:#ece6fa;color:#8b72d7;font-weight:550}.panel{background:white;border:1px solid var(--line);border-radius:9px;padding:22px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panel-head h2{font-size:14px;color:#3c5069;margin:0;font-weight:600}.panel-head small{color:#a0adbe;font-size:10px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px}.search{display:flex;align-items:center;gap:9px;border:1px solid #e3e8f0;background:#fff;border-radius:6px;padding:8px 11px;min-width:0;width:300px;max-width:100%}.search svg{width:16px;height:16px;color:#a7b2c0}.search input{border:0;outline:0;background:none;min-width:0;width:100%;font-size:12px}.search input::placeholder{color:#abb5c3}.search:focus-within{border-color:#ad9bde}.toolbar select{max-width:170px;border:1px solid #e3e8f0;background:white;border-radius:6px;padding:9px 10px;color:#8a99ad;min-width:95px;font-size:11px}.toolbar .toolbar-end{margin-left:auto;color:#a3afbe;font-size:10px}.table-container{overflow-x:auto}.file-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.file-table th{background:#fafbfd;font-size:11px;color:#98a6b8;font-weight:500;padding:12px 10px;border-bottom:1px solid #e9edf3;white-space:nowrap}.file-table td{padding:17px 10px;border-bottom:1px solid #eef1f5;font-size:11px;color:#8c9db0;vertical-align:middle}.file-table tbody tr:last-child td{border-bottom:0}.file-table tbody tr:hover{background:#fcfbff}.file-table th:nth-child(1){width:auto}.file-table th:nth-child(2){width:110px}.file-table th:nth-child(3){width:80px}.file-table th:nth-child(4){width:80px}.file-table th:nth-child(5){width:110px}.file-table th:last-child{width:185px}.file-entry{display:flex;align-items:center;gap:12px;min-width:0}.file-icon{width:34px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#f0ecf8;color:#a18ac4;flex-shrink:0}.file-icon svg{width:23px;height:23px;stroke-width:1.4}.file-icon.sheet{color:#8ba58d;background:#eef4ef}.file-icon.doc{color:#90a1b9;background:#eef2f8}.file-icon.image{color:#ba9b80;background:#f7f1eb}.file-icon.model{color:#a291bf;background:#f2eef8}.file-title{background:none;padding:0;color:#415774;font-size:12px;font-weight:550;display:block;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-title:hover{color:var(--accent)}.file-sub{font-size:10px;color:#a5b0bf;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-info{min-width:0}.file-operations{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-wrap:nowrap}.file-operations>.text-btn{font-size:10px}.file-operations .icon-btn{width:27px;height:27px}.version{background:#f4f1fb;border:1px solid #e8e0f5;border-radius:4px;font-size:10px;color:#9a83c0;padding:2px 7px}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#81a08f;background:#eff6f2;border:1px solid #e1ede5;border-radius:4px;padding:2px 6px;white-space:nowrap}.badge.purple{background:#f2edfb;border-color:#e7dff6;color:#a08ac4}.badge.gray{background:#f6f7f9;border-color:#edf0f3;color:#a1adbd}.badge.red{background:#fbf0ee;border-color:#f1e0da;color:#bd8b7e}.panel-note{font-size:10px;line-height:1.9;color:#9fabbc;display:flex;align-items:center;gap:7px;margin:17px 0 0}.panel-note svg{width:13px;height:13px}.mobile-files{display:none}.card-file{border:1px solid var(--line);border-radius:9px;padding:16px;background:white;margin-bottom:12px}.card-file-head{display:flex;gap:12px;align-items:center}.card-file-head>.file-info{flex:1}.card-file-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:#9aa8ba;margin:14px 0}.card-file-actions{display:flex;gap:7px;border-top:1px solid #edf0f6;padding-top:13px}.card-file-actions .btn{flex:1;font-size:11px;padding:7px 9px}.card-file-actions .btn svg{width:15px;height:15px}
.portal-header{height:75px;border-bottom:1px solid #e8eaf1;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100% - 1200px)/2));gap:20px}.portal-brand{display:flex;align-items:center;gap:10px;color:#344b65;font-weight:650;font-size:18px;white-space:nowrap}.portal-brand-icon{width:31px;height:33px;background:#f0eafa;color:#9174c9;border:1px solid #e4d9f4;border-radius:7px;display:flex;align-items:center;justify-content:center}.portal-brand-icon svg{width:20px;height:20px}.portal-brand small{font-size:10px;color:#a2aebf;letter-spacing:1.1px;display:block;font-weight:400;margin-top:1px}.portal-header-actions{display:flex;gap:15px;align-items:center}.portal-header .text-btn{font-size:11px}.portal-user{display:flex;align-items:center;gap:9px;font-size:12px;color:#7c8ea7;background:none;padding:0}.portal-user svg{width:13px;height:13px;color:#a3b0c0}.portal-main{max-width:1200px;padding:35px 26px 50px;margin:0 auto}.portal-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.portal-eyebrow{font-size:10px;letter-spacing:1.6px;color:#a399bb;margin-bottom:8px}.portal-hero h1{margin:0 0 10px;font-size:29px;font-weight:650;letter-spacing:-1px;color:#344860}.portal-hero p{margin:0;font-size:12px;color:#97a5b7}.portal-hero .folder-line{display:flex;align-items:center;gap:9px;font-size:11px;color:#a396b9}.portal-hero .folder-line svg{width:21px;height:21px;color:#a491c8}.quick-folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:27px}.quick-folder{padding:19px;background:#fff;border:1px solid var(--line);border-radius:9px;text-align:left;display:flex;gap:14px;align-items:center}.quick-folder>.icon{width:29px;height:29px;color:#b2a0d0;fill:#f6f1fb;stroke-width:1.3}.quick-folder strong{display:block;font-size:12px;color:#6a7890;font-weight:550}.quick-folder small{display:block;font-size:10px;color:#a4afbd;margin-top:4px}.quick-folder .arrow{margin-left:auto;color:#c0b5d2}.quick-folder.active{background:#f8f5ff;border-color:#d6c9ee}.portal-content{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px}.portal-tabs{display:flex;align-items:center;gap:25px;border-bottom:1px solid #eaedf3;margin-bottom:21px}.portal-tabs button{border-bottom:2px solid transparent;background:none;font-size:12px;color:#9ba6b8;padding:0 0 13px}.portal-tabs button.active{color:#8a70c1;border-bottom-color:#9d85d1;font-weight:600}.portal-tabs .count{font-size:9px;background:#f1edf8;border-radius:4px;padding:1px 5px;margin-left:6px;color:#a493be}.portal-table th:nth-child(2){width:100px}.portal-table th:nth-child(3){width:80px}.portal-table th:nth-child(4){width:100px}.portal-table th:last-child{width:265px}.portal-table .file-operations{gap:8px}.portal-table .file-operations .btn{min-height:30px;font-size:10px;padding:5px 9px}.portal-table .file-operations .text-btn{font-size:11px}.portal-bottom{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a6b0c0;padding:22px 3px 0;gap:15px}.portal-bottom span{display:flex;align-items:center;gap:6px}.portal-bottom svg{width:13px;height:13px}.hint-line{border:1px solid #e9e2f4;background:#faf8fd;border-radius:7px;padding:13px 15px;font-size:11px;line-height:1.8;color:#ab9bbb;margin-top:24px;display:flex;align-items:center;gap:8px}.hint-line svg{height:16px;width:16px;color:#a491c0}.hint-line strong{font-weight:550;color:#9781af}.hint-line .text-btn{margin-left:auto;font-size:11px;white-space:nowrap}.empty{padding:58px 20px;text-align:center;color:#a0aabd}.empty svg{width:35px;height:35px;stroke-width:1.2;color:#b6a7d2}.empty h3{font-size:16px;color:#8191a6;font-weight:550;margin:14px 0 8px}.empty p{font-size:12px;margin:0}.empty .btn{margin-top:20px}.section-head{font-size:13px;color:#7b8aa0;font-weight:550;display:flex;align-items:center;margin:24px 0 14px}.section-head .text-btn{margin-left:auto;font-size:11px}.share-layout{max-width:920px;margin:0 auto;padding:42px 25px 50px}.share-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:27px}.share-intro h1{font-size:28px;letter-spacing:-.7px;font-weight:650;margin:10px 0 11px;color:#344c66}.share-intro p{font-size:12px;color:#9aa9bc;margin:0;line-height:1.9}.share-intro>.file-icon{width:60px;height:68px;margin-top:24px}.share-intro>.file-icon svg{width:34px;height:34px}.share-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:11px;color:#9dabc0;align-items:center;margin:20px 0}.share-meta span{display:flex;gap:6px;align-items:center}.share-meta svg{width:14px;height:14px;color:#ab9ac8}.share-top-actions{display:flex;gap:10px;margin:23px 0 28px}.share-top-actions .btn{min-height:41px}.guest-box{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.guest-box-head{display:flex;align-items:center;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line);font-size:12px;font-weight:550;color:#6a7f99}.guest-file{display:flex;gap:14px;align-items:center;padding:20px 22px;border-bottom:1px solid #eef1f6}.guest-file:last-child{border-bottom:0}.guest-file .file-info{flex:1}.guest-file-actions{display:flex;gap:9px;align-items:center}.guest-file .file-title{font-size:13px}.guest-note{margin-top:19px;font-size:11px;color:#a2afc0;display:flex;gap:7px;align-items:flex-start;line-height:1.9}.guest-note svg{width:15px;height:15px;flex-shrink:0;margin-top:3px}.ai-entry{border:1px solid #e7dff4;border-radius:9px;background:#fcfaff;padding:20px 22px;margin-top:22px}.ai-entry-head{display:flex;align-items:center;gap:10px;font-size:13px;color:#8a74af;font-weight:550}.ai-entry-head svg{width:20px;height:20px}.ai-entry p{font-size:11px;color:#a694bb;line-height:1.9;margin:9px 0 14px}.ai-entry-actions{display:flex;align-items:center;gap:15px}.ai-entry-actions .text-btn{font-size:11px}.share-foot{text-align:center;font-size:10px;color:#b2bdca;margin:32px 0 0}.share-denied{max-width:700px;margin:55px auto;background:white;border:1px solid var(--line);border-radius:10px;padding:35px;text-align:center}.share-denied p{font-size:12px;color:#98a8bc}.share-denied svg{width:40px;height:40px;color:#b4a1ce}.share-denied h1{font-size:21px;color:#7b8aa0;font-weight:550}
dialog{width:calc(100% - 40px);max-width:540px;max-height:calc(100dvh - 50px);border:1px solid #e5e0f0;border-radius:12px;padding:0;background:#fff;color:var(--text);box-shadow:0 20px 85px #2b234424;overflow:auto}dialog::backdrop{background:#2622373f;backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px 24px 0}.modal-head h2{margin:0;font-size:19px;font-weight:600;color:#42536d;letter-spacing:-.3px}.modal-content{padding:20px 24px 24px}.modal-desc{font-size:12px;color:#95a1b5;line-height:1.9;margin:0 0 19px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:23px}.field{margin:17px 0}.field label{display:block;font-size:11px;color:#93a0b3;margin-bottom:7px}.field input,.field select,.field textarea{background:#fff;width:100%;font-size:12px;border:1px solid #e0e5ef;border-radius:6px;padding:10px 11px;outline-color:#b4a1db}.field textarea{min-height:135px;line-height:1.8;resize:vertical}.field input[readonly]{background:#fafafd;color:#9a8aaf;font-size:11px}.field small{font-size:10px;display:block;color:#a5b0c0;margin-top:7px;line-height:1.9}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field-row>.field{margin:0}.check-line{display:flex;gap:8px;align-items:center;font-size:11px;color:#91a0b4;margin:13px 0}.check-line input{accent-color:var(--accent)}.error{font-size:11px;color:#bf817a;min-height:17px;margin-top:6px}.modal-hint{border:1px solid #e9e2f4;border-radius:6px;padding:10px 12px;background:#faf8fd;font-size:10px;line-height:1.9;color:#a38eb9;display:flex;gap:7px;align-items:flex-start}.modal-hint svg{width:14px;height:14px;margin-top:3px}.detail-file{display:flex;gap:12px;align-items:center;margin-bottom:19px}.detail-file .file-icon{width:41px;height:48px}.detail-file strong{display:block;font-size:13px;color:#697b96}.detail-file small{display:block;color:#a6b1c2;font-size:10px;margin-top:5px}.detail-tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:20px}.detail-tabs button{background:transparent;padding:8px 0 12px;color:#a5b0c1;border-bottom:2px solid transparent;font-size:12px}.detail-tabs button.active{color:#9a7cc7;border-color:#b195dc}.detail-meta{display:grid;grid-template-columns:90px 1fr;gap:14px;font-size:11px}.detail-meta dt{color:#9caabd}.detail-meta dd{margin:0;color:#7c90aa;overflow-wrap:anywhere}.detail-meta dd.hash{font-size:10px;font-family:ui-monospace,monospace;line-height:1.7;color:#a69bb6}.timeline-item{position:relative;border-left:1px solid #e9e2f2;padding:0 0 25px 20px;margin-left:5px}.timeline-item:before{content:'';position:absolute;width:7px;height:7px;left:-4px;top:6px;border:1px solid #bba4d8;border-radius:50%;background:white}.timeline-item.current:before{background:#b194d3}.timeline-item:last-child{border-left-color:transparent;padding-bottom:0}.timeline-head{display:flex;align-items:center;gap:10px;color:#9276b5;font-size:13px;font-weight:550}.timeline-item p{font-size:11px;color:#9dacc1;margin:7px 0}.timeline-item small{display:block;font-size:10px;color:#b2bccb}.timeline-actions{display:flex;gap:18px;margin-top:10px}.timeline-actions button{font-size:11px}.dropzone{padding:30px 20px;border:1px dashed #cbbbdf;border-radius:8px;background:#fcfaff;text-align:center;color:#bba9cc;cursor:pointer}.dropzone svg{width:33px;height:33px;stroke-width:1.3}.dropzone strong{display:block;font-size:13px;color:#9c83b7;font-weight:550;margin:12px 0 6px}.dropzone small{font-size:11px;color:#b5a6c4;display:block}.dropzone.over{background:#f4edff;border-color:#a88bc5}.example-upload{padding:13px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;gap:10px;text-align:left;width:100%;margin-top:16px}.example-upload>span{flex:1}.example-upload strong{font-size:12px;color:#8e7aa8;display:block;font-weight:550}.example-upload small{font-size:10px;color:#b4a6c4}.example-upload svg{color:#b7a5cf}.upload-dock{width:340px;position:fixed;right:25px;bottom:24px;border:1px solid #e3daf0;border-radius:10px;background:white;box-shadow:0 12px 55px #3b275221;z-index:70;overflow:hidden}.upload-dock-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;font-size:12px;color:#9b83ba;background:#faf7ff;border-bottom:1px solid #eee7f6}.upload-dock-body{padding:17px}.upload-dock-body strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#8a79a0;font-weight:550}.progress-label{display:flex;justify-content:space-between;margin:10px 0;font-size:10px;color:#b4a4c3}.progress-track{height:4px;border-radius:3px;background:#f2ebf9;overflow:hidden}.progress-bar{height:100%;background:#b39acc;border-radius:3px;transition:width .25s}.upload-dock-actions{display:flex;justify-content:flex-end;gap:18px;margin-top:13px}.upload-dock-actions button{font-size:11px}.demo-foot{font-size:10px;color:#b6a6c6;line-height:1.8;margin-top:12px}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);padding:12px 18px;background:#514266;color:#fff;z-index:140;border-radius:7px;box-shadow:0 8px 32px #39244225;font-size:12px;max-width:calc(100% - 30px);text-align:center}.check-list{display:grid;gap:10px}.check-list label{display:flex;align-items:center;gap:10px;font-size:12px;color:#8d9eb6;border:1px solid var(--line);padding:12px;border-radius:6px}.check-list input{accent-color:var(--accent)}.share-list{display:flex;flex-direction:column}.share-row{display:flex;align-items:center;gap:17px;padding:19px 0;border-bottom:1px solid var(--line)}.share-row:last-child{border-bottom:0}.share-row>.file-icon{width:36px;height:39px}.share-row>div:nth-child(2){flex:1;min-width:0}.share-row strong{font-size:12px;color:#71859f;font-weight:550;display:block}.share-row p{font-size:10px;color:#a5b1c2;line-height:1.9;margin:6px 0 0}.share-row .actions{gap:13px}.share-row .text-btn{font-size:11px}.log-row{display:flex;gap:13px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}.log-row:last-child{border-bottom:0}.log-row>svg{margin-top:3px;width:16px;height:16px;color:#b7a8cd}.log-row strong{font-size:12px;font-weight:500;color:#7c90a9}.log-row small{display:block;font-size:10px;color:#a9b5c5;margin-top:5px}.log-row time{margin-left:auto;font-size:10px;color:#adb7c5;white-space:nowrap}.account-row{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.account-row:last-child{border-bottom:0}.account-row strong{font-size:12px;font-weight:550;color:#7f90a9;display:block}.account-row small{font-size:10px;color:#abb5c5;display:block;margin-top:4px}.account-row .badge{margin-left:auto}.account-row .text-btn{font-size:11px;margin-left:12px}.login-page{min-height:calc(100dvh - 31px);display:grid;place-items:center;padding:40px 20px}.login-card{width:410px;max-width:100%;border:1px solid #e6e3ed;border-radius:12px;background:#fff;padding:35px;box-shadow:0 10px 55px #49326208}.login-card .portal-brand{margin-bottom:30px}.login-card h1{font-size:22px;color:#64738c;font-weight:600;margin:0 0 9px;letter-spacing:-.5px}.login-card>p{font-size:12px;color:#a8b2c2;margin:0 0 25px}.login-card .btn.full{min-height:42px}.login-card .login-footer{font-size:10px;color:#b1b9c8;text-align:center;line-height:1.9;margin:19px 0 0}.login-options{display:flex;justify-content:space-between;align-items:center;margin:12px 0 22px}.login-options .text-btn{font-size:11px}.login-options .check-line{margin:0}.mobile-top{display:none}.scrim{display:none}.skeleton{height:65px;background:#f2eff8;border-radius:7px;margin:13px 0;animation:pulse 1s ease-in-out infinite alternate}.error-box{background:#fcf7f1;border:1px solid #eee2d4;color:#b0a08c;padding:17px;border-radius:7px;display:flex;gap:14px;align-items:center;font-size:12px}.error-box .btn{margin-left:auto}@keyframes pulse{from{opacity:.4}to{opacity:.85}}
@media(min-width:1600px){.admin-main{padding:39px 40px}.panel{padding:25px}.file-table td{padding-top:21px;padding-bottom:21px}.portal-main{max-width:1260px}}
@media(min-width:761px) and (max-width:1180px){.console-sidebar{width:202px;min-width:202px}.console-brand{gap:8px;margin-left:3px}.console-brand strong{font-size:16px}.console-brand img{width:30px;height:30px}.admin-main{padding:27px 23px}.summary-grid{gap:9px}.summary-item{padding:16px 14px}.panel{padding:19px}.file-table th:nth-child(2){width:85px}.file-table th:nth-child(3){width:65px}.file-table th:nth-child(4){width:60px}.file-table th:nth-child(5){display:none}.file-table td:nth-child(5){display:none}.file-table th:last-child{width:150px}.file-operations{gap:5px}.file-operations .text-btn{font-size:10px}.portal-table th:nth-child(2){width:80px}.portal-table th:nth-child(3){width:70px}.portal-table th:nth-child(4){width:75px}.portal-table th:last-child{width:240px}.summary-label{font-size:10px}}
@media(max-width:760px){.preview-bar{height:31px;padding:0 13px;gap:8px;font-size:9px}.preview-bar>span{display:none}.preview-bar strong{font-size:9px}.preview-bar nav{gap:12px;font-size:9px}.preview-bar button{font-size:9px}.admin-layout{display:block}.console-sidebar{position:fixed;top:31px;left:0;bottom:0;height:calc(100dvh - 31px);width:235px;min-width:235px;z-index:90;transform:translateX(-100%);transition:transform .2s;box-shadow:12px 0 55px #32294120}.console-sidebar.open{transform:translateX(0)}.console-brand{margin-bottom:31px}.scrim.open{display:block;position:fixed;inset:31px 0 0;background:#342d4844;z-index:89}.admin-main{padding:0 17px 30px}.mobile-top{height:58px;display:flex;align-items:center;justify-content:space-between;margin:0 -17px 23px;padding:0 16px;border-bottom:1px solid #e4e8ef;background:#f8f9fc;font-size:13px;color:#8191a8}.mobile-top>span{display:flex;align-items:center;gap:9px}.mobile-top .icon-btn{width:35px;height:42px;margin-left:-5px}.mobile-top .avatar{width:27px;height:27px;font-size:11px}.admin-topline{display:none}.heading{gap:10px;margin-bottom:22px}.heading h1{font-size:25px;margin-bottom:9px}.heading p{font-size:11px;max-width:230px;line-height:1.9}.heading .actions{padding-top:2px;gap:7px}.heading .actions .btn{min-height:37px;font-size:11px;padding:8px 10px}.heading .actions .btn:first-child{display:none}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.summary-item{padding:16px 14px}.summary-label{font-size:10px;gap:6px}.summary-label svg{width:14px;height:14px}.summary-value{font-size:25px;margin:7px 0 4px}.summary-value span{font-size:11px}.summary-note{font-size:9px;line-height:1.7}.notice{font-size:10px;padding:10px 12px;gap:8px;margin-bottom:18px;align-items:flex-start}.notice strong{font-size:10px;white-space:nowrap}.notice .text-btn{display:none}.tabs{gap:1px;margin-bottom:17px;padding-bottom:9px;justify-content:space-between}.tabs button{font-size:11px;padding:9px 10px;min-height:39px}.panel{padding:16px 13px;border-radius:8px}.panel-head{margin-bottom:17px}.panel-head h2{font-size:13px}.panel-head small{font-size:9px}.toolbar{gap:8px;flex-wrap:wrap}.search{flex:1;min-width:0;padding:9px 10px;min-height:40px}.search input{font-size:11px}.toolbar select{max-width:110px;min-width:90px;font-size:10px;padding:10px 8px;height:40px}.toolbar .toolbar-end{display:none}.table-container{display:none}.mobile-files{display:block}.card-file{padding:15px 12px;margin-bottom:11px}.card-file .file-icon{width:32px;height:37px}.card-file .file-title{font-size:12px;max-width:100%}.card-file .file-sub{font-size:10px}.card-file-meta{font-size:10px;gap:9px;margin:13px 0}.card-file-actions{gap:7px}.card-file-actions .btn{min-height:39px;font-size:10px;padding:7px}.card-file-actions .btn svg{width:14px;height:14px}.panel-note{font-size:9px;align-items:flex-start;margin-top:13px;line-height:1.9}.panel-note svg{margin-top:2px;flex-shrink:0}.panel .card-file{border-left:0;border-right:0;border-top:0;border-radius:0;margin:0;padding:17px 0}.panel .card-file:last-child{border-bottom:0}.portal-header{height:66px;padding:0 18px;gap:12px}.portal-brand{font-size:17px;gap:8px}.portal-brand-icon{width:29px;height:32px}.portal-brand small{font-size:8px;letter-spacing:1px}.portal-header-actions{gap:10px}.portal-header-actions>.text-btn{display:none}.portal-user{font-size:11px;gap:7px}.portal-user .avatar{width:28px;height:28px;font-size:10px}.portal-user>svg{width:12px;height:12px}.portal-main{padding:27px 17px 35px}.portal-hero{margin-bottom:23px;align-items:flex-start;gap:10px}.portal-eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:9px}.portal-hero h1{font-size:26px;letter-spacing:-.7px;margin-bottom:10px}.portal-hero p{font-size:11px;line-height:1.9;max-width:260px}.portal-hero .folder-line{display:none}.quick-folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}.quick-folder{padding:15px 12px;gap:10px;min-height:85px}.quick-folder:nth-child(3){display:none}.quick-folder>.icon{width:26px;height:26px}.quick-folder strong{font-size:12px}.quick-folder small{font-size:9px}.quick-folder .arrow{display:none}.portal-content{padding:18px 13px;border-radius:9px}.portal-tabs{gap:25px;margin-bottom:17px}.portal-tabs button{font-size:12px;min-height:37px}.portal-tabs .count{font-size:9px}.portal-content .search{width:auto}.portal-content .toolbar{margin-bottom:7px}.portal-content .card-file{border-top:0;border-left:0;border-right:0;border-radius:0;padding:19px 0;margin:0}.portal-content .card-file:last-child{border-bottom:0}.portal-content .card-file-actions .btn{min-height:40px;font-size:11px}.portal-bottom{align-items:flex-start;font-size:9px;line-height:1.8;padding-top:18px}.portal-bottom>span:last-child{display:none}.hint-line{margin-top:18px;padding:12px;font-size:10px;align-items:flex-start;gap:8px;line-height:1.9}.hint-line .text-btn{display:none}.hint-line svg{margin-top:2px;flex-shrink:0}.share-layout{padding:29px 18px 30px}.share-intro{margin-bottom:22px;gap:12px}.share-intro h1{font-size:24px;line-height:1.45;margin:10px 0}.share-intro p{font-size:11px;max-width:260px}.share-intro>.file-icon{width:43px;height:52px;flex-shrink:0;margin-top:31px}.share-intro>.file-icon svg{width:27px;height:27px}.share-meta{gap:12px;font-size:10px;margin:17px 0}.share-meta svg{width:13px;height:13px}.share-top-actions{gap:9px;margin:19px 0 24px}.share-top-actions .btn{flex:1;min-height:43px;font-size:11px}.guest-box-head{font-size:12px;padding:16px}.guest-file{gap:11px;padding:18px 15px;flex-wrap:wrap}.guest-file .file-title{font-size:12px}.guest-file-actions{width:100%;padding-left:45px;justify-content:flex-end;gap:11px}.guest-file-actions .btn{min-height:38px;font-size:11px}.guest-file-actions .text-btn{font-size:11px}.guest-note{font-size:10px;gap:7px;margin-top:17px}.ai-entry{padding:17px;margin-top:20px}.ai-entry-head{font-size:13px}.ai-entry p{font-size:11px}.ai-entry-actions{gap:13px;flex-wrap:wrap}.ai-entry-actions .btn{font-size:11px;min-height:40px}.ai-entry-actions .text-btn{font-size:10px}.share-foot{font-size:9px;margin-top:25px}.share-denied{margin:35px 17px;padding:30px 20px}.share-denied h1{font-size:19px}.share-denied p{font-size:11px}dialog{width:calc(100% - 26px);max-height:calc(100dvh - 40px)}.modal-head{padding:21px 19px 0}.modal-head h2{font-size:18px}.modal-head .icon-btn{height:39px;width:39px}.modal-content{padding:17px 19px 22px}.modal-desc{font-size:12px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:13px;min-height:42px}.field textarea{font-size:12px;min-height:170px}.field small{font-size:10px}.field-row{gap:10px}.modal-actions .btn{min-height:42px;font-size:12px}.detail-tabs{gap:25px}.detail-tabs button{font-size:13px;min-height:40px}.detail-meta{grid-template-columns:77px 1fr;gap:15px;font-size:12px}.timeline-actions button{min-height:38px;font-size:12px}.timeline-item p{font-size:12px}.timeline-item small{font-size:11px}.modal-hint{font-size:11px}.dropzone{padding:27px 15px}.dropzone strong{font-size:13px}.dropzone small{font-size:10px;line-height:1.8}.example-upload strong{font-size:12px}.upload-dock{width:calc(100% - 28px);right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}.upload-dock-actions button{font-size:12px;min-height:35px}.share-row{gap:10px;align-items:flex-start;flex-wrap:wrap;padding:18px 0}.share-row strong{font-size:12px}.share-row p{font-size:10px}.share-row .actions{width:100%;justify-content:flex-end;margin-left:45px;gap:14px}.share-row .text-btn{font-size:11px;min-height:32px}.log-row{gap:10px}.log-row strong{font-size:11px}.log-row small{font-size:9px;line-height:1.9}.log-row time{font-size:9px}.account-row{gap:9px;flex-wrap:wrap}.account-row strong{font-size:12px}.account-row small{font-size:10px}.account-row .text-btn{font-size:11px;margin-left:0;min-height:32px}.login-page{padding:30px 17px;place-items:start center}.login-card{padding:29px 23px;box-shadow:none;margin-top:18px}.login-card h1{font-size:23px}.login-card>p{font-size:12px;line-height:1.9}.login-card .portal-brand{margin-bottom:32px}.login-options .text-btn{font-size:11px}.login-options .check-line{font-size:11px}.login-card .btn.full{min-height:44px}.toast{font-size:11px;bottom:calc(22px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.preview-bar{padding:0 10px}.preview-bar nav{gap:9px}.admin-main{padding-left:13px;padding-right:13px}.mobile-top{margin-left:-13px;margin-right:-13px}.heading p{max-width:205px}.heading .actions .btn{padding:8px}.panel{padding:14px 10px}.card-file-actions .btn{font-size:9px}.portal-main{padding-left:13px;padding-right:13px}.portal-hero h1{font-size:24px}.guest-file-actions{padding-left:0}.field-row{grid-template-columns:1fr}.login-card{padding:25px 20px}}
/* Review refinement: readable file metadata and balanced mobile actions. */
.file-title{font-size:13px}.file-sub{font-size:11px;color:#8c9bb0}.file-table th,.file-table td{font-size:12px;color:#7d8fa7}.file-operations>.text-btn{font-size:12px}.file-table th:last-child{width:220px}.portal-table th:last-child{width:280px}.portal-table .file-operations .btn,.portal-table .file-operations .text-btn{font-size:12px}.summary-note,.panel-note,.summary-label,.heading p,.portal-hero p{font-size:12px;color:#8190a6}.summary-label{font-size:12px}.summary-note{font-size:11px}.quick-folder strong{font-size:13px}.quick-folder small{font-size:11px}.tabs button,.portal-tabs button{font-size:13px}.notice{font-size:12px}.notice strong{font-size:12px}.panel-note{font-size:11px}.toolbar-end{font-size:11px}
@media(min-width:761px){.file-table th:nth-child(2){width:100px}.file-table th:nth-child(3){width:80px}.file-table th:nth-child(4){width:70px}.file-table th:nth-child(5):not(:last-child){width:100px}.portal-table th:nth-child(2){width:105px}}
@media(max-width:760px){.file-title{font-size:14px}.file-sub{font-size:11px}.card-file-meta{font-size:11px}.card-file-actions{gap:8px}.card-file-actions>.btn,.card-file-actions>.text-btn{flex:1;min-height:40px;font-size:12px;padding:7px 4px;text-align:center;border-radius:5px}.card-file-actions>.text-btn{border:1px solid #e9e2f6;background:#fcfaff}.summary-note{font-size:11px}.heading p{font-size:12px}.notice{font-size:11px}.notice strong{font-size:11px}.portal-hero p{font-size:12px}.portal-bottom span{line-height:1.8}.guest-file .file-title{font-size:14px}.guest-file .file-sub{font-size:11px}.guest-file-actions>.text-btn{min-height:40px;padding:10px 6px}.tabs button{font-size:12px;padding:8px}.portal-tabs button{font-size:13px}.quick-folder strong{font-size:13px}.quick-folder small{font-size:11px}}
.login-page{grid-template-columns:minmax(0,1fr)}.login-card{width:min(410px,100%);min-width:0}
@media(max-width:760px){.portal-header-actions>.text-btn{display:inline-flex;align-items:center;justify-content:center;width:35px;height:40px;font-size:0}.portal-header-actions>.text-btn svg{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
