:root{--bg:#06111f;--panel:#0b1b2f;--panel2:#102740;--line:#1b3d5d;--cyan:#22d3ee;--blue:#1595ff;--text:#eff8ff;--muted:#9bb2c6;--danger:#ff7782;--ok:#53e0a1;--shadow:0 18px 50px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 70% -10%,rgba(21,149,255,.18),transparent 32%),linear-gradient(180deg,#071423,#06111f 55%);min-height:100vh}.top{background:rgba(4,13,24,.96);border-bottom:1px solid #15334f;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.topbar{max-width:1320px;margin:auto;padding:8px 24px;font-size:12px;color:#a8bdce;display:flex;gap:9px;align-items:center}.topbar a{margin-left:auto;color:#e7f8ff;text-decoration:none}.header-inner{max-width:1320px;margin:auto;padding:10px 24px;display:flex;align-items:center;gap:24px;min-height:88px}.brand{display:flex;align-items:center}.brand img{width:270px;height:72px;object-fit:contain;object-position:left center;display:block}.header-inner nav{display:flex;gap:6px;margin-left:auto;align-items:center}.nav-link,.logout button{display:inline-block;padding:10px 12px;border-radius:9px;color:#bdd0df;text-decoration:none;background:transparent;border:0;font:inherit;cursor:pointer}.nav-link:hover,.nav-link.active,.logout button:hover{background:#102b46;color:white}.logout{margin:0}.identity{border-left:1px solid #21415d;padding-left:18px;display:grid;font-size:13px}.identity span{color:var(--muted);font-size:11px}.menu-btn{display:none;margin-left:auto;background:#102b46;color:white;border:1px solid #21415d;border-radius:8px;padding:8px 11px}main{width:100%;max-width:1220px;margin:0 auto;padding:48px 24px 70px;flex:1 0 auto}.hero{padding:32px 0 28px}.eyebrow{color:var(--cyan);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.hero h1{font-size:clamp(34px,4vw,58px);line-height:1.04;margin:10px 0 12px;max-width:850px}.hero p{color:var(--muted);font-size:18px;max-width:760px;line-height:1.6}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:linear-gradient(145deg,rgba(16,39,64,.98),rgba(8,25,43,.98));border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:var(--shadow)}.card h2{font-size:18px;margin:0 0 15px}.metric{font-size:34px;font-weight:850}.muted{color:var(--muted)}.badge{display:inline-flex;border:1px solid #27577d;background:#0b2942;color:#d6f7ff;border-radius:999px;padding:5px 9px;font-size:12px}.badge.ok{border-color:#28684e;color:#adf7d1}.badge.warn{border-color:#765d22;color:#ffe39a}.badge.danger{border-color:#743841;color:#ffc0c6}.login-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center;min-height:560px}.login-copy h1{font-size:clamp(40px,5vw,68px);line-height:1;margin:12px 0}.login-box{max-width:480px;margin-left:auto;width:100%}.form-row{display:grid;gap:7px;margin:14px 0}.form-row label{font-size:13px;font-weight:700;color:#d5e7f3}.input,select{width:100%;background:#071728;border:1px solid #284b67;color:white;border-radius:10px;padding:12px 13px;font:inherit;outline:none}.input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.1)}.btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0ea5e9,#1769ff);color:white;border:0;border-radius:10px;padding:12px 18px;font-weight:800;text-decoration:none;cursor:pointer}.btn.secondary{background:#112c47;border:1px solid #28516f}.btn.danger{background:#6c2630}.btn.full{width:100%}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.alert{border-radius:10px;padding:11px 13px;margin:12px 0;background:#102b46;border:1px solid #245374;color:#d8efff}.alert.error{background:#35181e;border-color:#74343d;color:#ffd5d9}.alert.success{background:#123126;border-color:#276447;color:#c7f8de}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;color:#8faabd;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.table td,.table th{padding:11px;border-bottom:1px solid #183751}.table a{color:#72ddff;text-decoration:none}.split{display:flex;justify-content:space-between;gap:20px;align-items:center}.section-title{margin:36px 0 15px}.section-title h2{margin:0}.placeholder{border:1px dashed #2d5875;border-radius:14px;padding:30px;color:#8faabd;text-align:center}.qr{background:white;padding:12px;border-radius:12px;display:inline-block}.qr img{display:block;width:220px;height:220px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;word-break:break-all;background:#071728;border:1px solid #244661;padding:10px;border-radius:8px}.small{font-size:12px}.kicker{font-size:13px;color:#8faabd}footer{margin-top:auto;border-top:1px solid #17334c;background:#040d17;padding:48px 24px 20px}.footer-grid{max-width:1220px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;color:#9ab1c4}.footer-grid h3{color:white}.footer-grid a{display:block;color:#a9c2d5;text-decoration:none;margin:8px 0}.footer-logo{width:300px;max-width:100%;height:100px;object-fit:contain;object-position:left center;margin-bottom:8px}.copyright{max-width:1220px;margin:30px auto 0;border-top:1px solid #17334c;padding-top:18px;color:#71899c;font-size:12px;display:flex;justify-content:space-between}
@media(max-width:980px){.grid{grid-template-columns:1fr 1fr}.login-wrap{grid-template-columns:1fr}.login-box{margin:0}.identity{display:none}.brand img{width:230px;height:62px}.menu-btn{display:block}.header-inner nav{display:none;position:absolute;top:100%;left:15px;right:15px;background:#071423;border:1px solid #1c415f;border-radius:12px;padding:10px;flex-direction:column;align-items:stretch}.menu-open .header-inner nav{display:flex}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){main{padding:30px 16px}.grid,.grid.two{grid-template-columns:1fr}.topbar{display:none}.header-inner{padding:10px 16px}.brand img{width:190px;height:54px}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.copyright span{display:block;margin-top:8px}}

.account-menu{position:relative;margin-left:6px}
.account-trigger{display:grid;grid-template-columns:1fr auto;column-gap:8px;text-align:left;min-width:180px;padding:8px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);cursor:pointer}
.account-trigger:hover,.account-menu.open .account-trigger{background:#102b46;border-color:#21415d}
.account-name{font-weight:800;font-size:13px}.account-email{grid-column:1;color:var(--muted);font-size:11px}.account-caret{grid-column:2;grid-row:1/3;align-self:center;color:var(--muted)}
.account-dropdown{display:none;position:absolute;right:0;top:calc(100% + 8px);width:230px;padding:8px;background:#071423;border:1px solid #21415d;border-radius:12px;box-shadow:var(--shadow);z-index:40}
.account-menu.open .account-dropdown{display:block}
.account-dropdown a,.account-dropdown button{display:block;width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#d8e8f5;text-align:left;text-decoration:none;font:inherit;cursor:pointer}
.account-dropdown a:hover,.account-dropdown button:hover{background:#102b46;color:white}.account-dropdown form{margin:4px 0 0;padding-top:4px;border-top:1px solid #183751}
.account-detail{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid #183751}.account-detail span{color:var(--muted)}.account-actions{display:flex;gap:10px;flex-wrap:wrap}
.recovery-login{margin-top:18px;border-top:1px solid #183751;padding-top:15px}.recovery-login summary{cursor:pointer;color:#8edfff;font-weight:700}
.recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;padding-left:28px}.recovery-codes code{font-size:18px;letter-spacing:.08em;color:white}
.recovery-warning{padding:12px;border:1px solid #765d22;background:#312811;border-radius:10px;color:#ffe39a;margin-bottom:18px}
.inline-form{display:inline}.link-button{padding:0;border:0;background:none;color:#72ddff;font:inherit;cursor:pointer}.danger-text{color:#ff9ba4}
@media(max-width:980px){.account-menu{margin-left:auto}.account-trigger{min-width:0}.account-email{display:none}.account-dropdown{right:0}.recovery-codes{grid-template-columns:1fr}}
@media print{header,footer,.actions,.portal-nav,.account-menu,.topbar{display:none!important}body{background:white!important;color:black!important}.card{box-shadow:none;border:0;background:white;color:black}.recovery-codes code{color:black}}

.permission-row{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #183751}
.permission-row:last-child{border-bottom:0}.permission-row select{min-width:130px}
input[type=file].input{padding:10px;background:#071728}
@media(max-width:700px){.permission-row{grid-template-columns:1fr}.permission-row select,.permission-row .btn{width:100%}}

.document-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:18px}.document-filters .form-row{margin:0}.document-note{display:inline-block;margin-top:4px;white-space:normal;max-width:420px}.category-create{margin:14px 0;border:1px solid #183751;border-radius:10px;padding:10px 12px}.category-create summary{cursor:pointer;font-weight:700;color:#8edfff}.category-create form{margin-top:12px}textarea.input{resize:vertical;min-height:80px}@media(max-width:800px){.document-filters{grid-template-columns:1fr}}

.filemanager{max-width:1500px;margin:0 auto}.fm-toolbar{display:flex;align-items:flex-end;gap:20px;justify-content:space-between;margin-bottom:18px}.fm-toolbar h1{margin:4px 0 0}.fm-toolbar-actions{margin-left:auto}.filemanager-customer{min-width:220px}.filemanager-customer label{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.fm-searchbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px;gap:10px;margin-bottom:12px}.fm-shell{display:grid;grid-template-columns:230px minmax(0,1fr) 300px;min-height:560px;border:1px solid #183751;border-radius:14px;overflow:hidden;background:#071423}
.fm-sidebar{padding:14px;background:#08192a;border-right:1px solid #183751}.fm-folder-heading{margin:18px 8px 7px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.fm-folder,.fm-folder-link{width:100%;display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 11px;border:0;border-radius:9px;background:transparent;color:#cfe2f2;text-align:left;text-decoration:none;cursor:pointer;font:inherit}.fm-folder:hover,.fm-folder-link:hover,.fm-folder.active{background:#102b46;color:white}.fm-folder.drag-over{outline:2px solid #58d9ff;background:#123b5a}.fm-count{font-size:11px;min-width:24px;padding:2px 6px;text-align:center;border-radius:10px;background:#15334d;color:#9bc1da}
.fm-main{padding:0!important;max-width:none!important;margin:0!important;min-height:0!important;width:auto!important}.fm-path{height:48px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid #183751;font-weight:800}.fm-list{padding:8px}.fm-file{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-bottom:1px solid #153048;border-radius:8px}.fm-file:hover{background:#0c2237}.fm-file.dragging{opacity:.45}.fm-file-select{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:11px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.fm-file-icon{font-size:28px;text-align:center}.fm-file-info{min-width:0}.fm-file-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-file-info small{display:block;color:var(--muted);margin-top:3px}.fm-retention{font-size:11px}.fm-retention.has-expiration{color:#ffd586}
.fm-file-actions{display:flex;align-items:center;gap:9px;padding:8px 12px}.fm-action,.fm-more{color:#80ddff;background:transparent;border:0;text-decoration:none;cursor:pointer}.fm-more{font-size:23px}.fm-move-label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.fm-move{max-width:155px;padding:6px 8px}
.fm-details{position:relative;padding:18px;background:#08192a;border-left:1px solid #183751;overflow:auto}.fm-details-empty{color:var(--muted);text-align:center;margin-top:80px}.fm-details-close{display:none;position:absolute;right:8px;top:8px;border:0;background:transparent;color:white;font-size:28px}.fm-details-icon{font-size:40px}.fm-details h2{font-size:18px;overflow-wrap:anywhere}.fm-detail{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #153048;font-size:12px}.fm-detail span,.fm-description span{color:var(--muted)}.fm-detail strong{text-align:right}.fm-description{margin-top:14px}.fm-description p{line-height:1.5;white-space:pre-wrap}.fm-details-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.fm-empty,.fm-loading{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.fm-empty-icon{font-size:42px}.upload-drawer,.category-create{display:inline-block}.upload-drawer>summary,.category-create>summary{cursor:pointer;list-style:none}.upload-drawer[open],.category-create[open]{display:block;background:#0a1d30;border:1px solid #1d405d;border-radius:10px;padding:12px;margin:10px 0}.upload-drawer[open]>summary,.category-create[open]>summary{margin-bottom:12px;font-weight:800}
#fm-toast{position:fixed;right:22px;bottom:22px;z-index:1000;padding:11px 16px;border-radius:10px;transform:translateY(30px);opacity:0;transition:.18s;background:#102b46;color:white;box-shadow:var(--shadow)}#fm-toast.show{transform:none;opacity:1}#fm-toast.error{background:#57222a}#fm-toast.ok{background:#153d35}
@media(max-width:1150px){.fm-shell{grid-template-columns:210px minmax(0,1fr)}.fm-details{position:fixed;right:0;top:0;bottom:0;width:min(360px,90vw);z-index:80;transform:translateX(105%);transition:.2s;box-shadow:var(--shadow)}.fm-details.open{transform:none}.fm-details-close{display:block}}
@media(max-width:760px){.fm-toolbar{align-items:stretch;flex-direction:column}.fm-searchbar{grid-template-columns:1fr}.fm-shell{grid-template-columns:1fr}.fm-sidebar{border-right:0;border-bottom:1px solid #183751;display:flex;gap:6px;overflow-x:auto}.fm-folder-heading,.category-create,.fm-folder-link{display:none}.fm-folder{width:auto;min-width:max-content}.fm-file{grid-template-columns:1fr}.fm-file-actions{padding:0 12px 10px 68px;flex-wrap:wrap}.fm-move-label{width:100%}.fm-move{max-width:none;flex:1}}

.fm-file.selected{background:#0d2942;box-shadow:inset 3px 0 0 #58d9ff}.fm-file-access{color:#9ec7de}.fm-file-access.restricted{color:#ffd586}.fm-file-access.wide{color:#93e9cb}
.fm-access-summary{margin:10px 0 16px;padding:10px 12px;border:1px solid #1b405e;border-radius:10px;background:#0c2237}.fm-detail-control{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #153048;font-size:12px}.fm-detail-control span{color:var(--muted)}.fm-detail-control select{max-width:170px}
.fm-permissions{margin-top:16px;border-top:1px solid #1b405e;padding-top:12px}.fm-permissions>summary,.fm-user-permissions>summary{cursor:pointer;font-weight:800;color:#bfeaff}.fm-permission-heading{margin:12px 0 4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.fm-permission-row{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #12304a}.fm-permission-row span{min-width:0}.fm-permission-row strong,.fm-permission-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-permission-row small{color:var(--muted);margin-top:2px}.fm-permission-row select{padding:6px}.fm-access-readonly{margin-top:15px;padding-top:12px;border-top:1px solid #1b405e;display:flex;justify-content:space-between;gap:10px}
.fm-main{position:relative}.fm-main.file-drop-active:after{content:"Drop files to upload";position:absolute;inset:10px;z-index:20;display:flex;align-items:center;justify-content:center;border:2px dashed #58d9ff;border-radius:12px;background:rgba(7,20,35,.91);color:white;font-size:22px;font-weight:900;pointer-events:none}
.fm-modal{display:none;position:fixed;inset:0;z-index:120;background:rgba(1,7,13,.78);padding:24px;align-items:center;justify-content:center}.fm-modal.open{display:flex}.fm-modal-card{position:relative;width:min(680px,96vw);max-height:90vh;overflow:auto;background:#08192a;border:1px solid #234966;border-radius:16px;padding:22px;box-shadow:0 24px 80px rgba(0,0,0,.55)}.fm-modal-close{position:absolute;right:12px;top:9px;border:0;background:transparent;color:#dceeff;font-size:30px;cursor:pointer}.fm-upload-drop{min-height:150px;border:2px dashed #2d678d;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin:15px 0;cursor:pointer;background:#0a2035;transition:.15s}.fm-upload-drop:hover,.fm-upload-drop.drag-over{border-color:#58d9ff;background:#0d2942}.fm-upload-icon{font-size:36px;color:#70dfff}.fm-upload-drop span{color:var(--muted)}.fm-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.fm-upload-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;padding:8px 9px;border-bottom:1px solid #153048}.fm-upload-item>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-upload-item small{color:var(--muted)}.fm-upload-state{grid-column:1/-1;font-size:11px;color:#8edfff}
@media(max-width:760px){.fm-detail-control{align-items:stretch;flex-direction:column}.fm-detail-control select{max-width:none;width:100%}.fm-modal{padding:8px}.fm-modal-card{padding:18px}.fm-permission-row{grid-template-columns:minmax(0,1fr) 90px}}

.fm-permissions-simple{margin-top:18px;padding-top:15px;border-top:1px solid #1b405e}.fm-section-title{font-weight:900;margin-bottom:9px;color:#d9efff}.fm-access-choice{display:grid;grid-template-columns:auto 28px minmax(0,1fr);align-items:start;gap:8px;padding:10px;margin:5px 0;border:1px solid #173a57;border-radius:10px;background:#091c2e;cursor:pointer}.fm-access-choice:hover,.fm-access-choice.selected{border-color:#3b85ad;background:#0d2942}.fm-access-choice input{margin-top:4px}.fm-access-choice-icon{font-size:18px}.fm-access-choice strong,.fm-access-choice small{display:block}.fm-access-choice small{margin-top:2px;color:var(--muted);line-height:1.35}.fm-access-picker{display:none;margin:4px 0 10px 30px;padding:7px 10px;border-left:2px solid #285777}.fm-access-picker.open{display:block}.fm-access-check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;padding:7px 2px;cursor:pointer}.fm-access-check input{margin-top:4px}.fm-access-check strong,.fm-access-check small{display:block}.fm-access-check small{color:var(--muted);margin-top:2px}.fm-custom-access-note{margin:9px 0;padding:9px;border-radius:8px;background:#2b2414;color:#ffd98b;font-size:12px;line-height:1.4}.fm-access-save{margin-top:10px;width:100%}
.fm-upload-complete{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}.fm-upload-complete-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#153d35;color:#a5f3d8;font-size:30px;font-weight:900}.fm-upload-complete strong{font-size:18px}.fm-upload-complete span{color:var(--muted)}

.fm-folder-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center}.fm-folder-row .fm-folder{min-width:0}.fm-folder-more{width:28px;height:32px;border:0;border-radius:7px;background:transparent;color:#93b8cf;cursor:pointer;font-size:18px;opacity:.35}.fm-folder-row:hover .fm-folder-more,.fm-folder-more:focus{opacity:1}.fm-folder-more:hover{background:#14324c;color:white}
.fm-category-modal-card{max-width:600px}.fm-category-manager h2{margin:4px 0 18px}.fm-category-section{padding:15px 0;border-top:1px solid #183751}.fm-category-section h3{margin:0 0 9px}.fm-inline-edit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.fm-category-danger{margin-top:8px}.fm-category-danger p{color:#c6d9e8;line-height:1.5}.fm-category-danger .btn.danger{margin-top:8px}
@media(max-width:760px){.fm-folder-row{display:flex;min-width:max-content}.fm-folder-row .fm-folder{width:auto}.fm-folder-more{opacity:1}.fm-inline-edit{grid-template-columns:1fr}}

.fm-category-section button:disabled{opacity:.65;cursor:wait}

.fm-file-select[draggable="true"]{cursor:grab}.fm-file-select[draggable="true"]:active{cursor:grabbing}

.fm-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;margin-bottom:12px;border:1px solid #2c668b;border-radius:11px;background:#0b2941;box-shadow:0 8px 24px rgba(0,0,0,.16)}.fm-selection-bar[hidden]{display:none!important}.fm-selection-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fm-selection-actions select{min-width:180px}
.fm-file{grid-template-columns:34px minmax(0,1fr) auto}.fm-file.multi-selected{background:#0d2942;box-shadow:inset 3px 0 0 #58d9ff}.fm-select-toggle{width:24px;height:24px;margin-left:9px;border:1px solid #315875;border-radius:6px;background:#08192a;color:#bff3ff;cursor:pointer;font-weight:900;display:flex;align-items:center;justify-content:center}.fm-file.multi-selected .fm-select-toggle{background:#137398;border-color:#58d9ff;color:white}.fm-file.dragging{opacity:.45}
@media(max-width:760px){.fm-selection-bar{align-items:stretch;flex-direction:column}.fm-selection-actions{display:grid;grid-template-columns:1fr 1fr}.fm-selection-actions select{grid-column:1/-1;width:100%}.fm-file{grid-template-columns:34px minmax(0,1fr)}.fm-file-actions{grid-column:2}}

.fm-file{grid-template-columns:30px 34px minmax(0,1fr) auto}
.fm-drag-handle,.fm-drag-spacer{width:30px;min-height:52px;display:flex;align-items:center;justify-content:center}
.fm-drag-handle{color:#7298b1;font-size:20px;cursor:grab;user-select:none;touch-action:none;border-radius:7px}
.fm-drag-handle:hover{color:#72ddff;background:#102b46}
.fm-drag-handle:active,.fm-drag-handle.dragging{cursor:grabbing;color:#fff;background:#174363}
body.fm-dragging-files .fm-folder:not([data-category="all"]){outline:1px dashed #2e7197}
body.fm-dragging-files .fm-folder:not([data-category="all"]):hover{background:#123b5a}
@media(max-width:760px){.fm-file{grid-template-columns:30px 34px minmax(0,1fr)}.fm-file-actions{grid-column:3}}

/* v0.10 Document Center */
.section-title{margin-top:26px}.section-title h2{margin-bottom:10px}

.pdf-editor{max-width:1600px;margin:0 auto}.pdf-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}.pdf-editor-header h1{margin:3px 0}.pdf-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 12px;margin-bottom:12px;border:1px solid #183751;border-radius:11px;background:#08192a}.pdf-page-controls,.pdf-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pdf-tool{border:1px solid #28506d;background:#0a2035;color:#cfe5f5;padding:7px 9px;border-radius:8px;cursor:pointer}.pdf-tool:hover,.pdf-tool.active{border-color:#58d9ff;background:#123b5a;color:white}.pdf-tool:disabled{opacity:.4;cursor:not-allowed}
.pdf-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}.pdf-canvas-panel{min-width:0;padding:18px;background:#05111d;border:1px solid #183751;border-radius:12px;overflow:auto}.pdf-stage{position:relative;width:min(100%,1050px);margin:auto;line-height:0;background:white;box-shadow:0 12px 45px rgba(0,0,0,.45)}.pdf-page-image{display:block;width:100%;height:auto;min-height:300px}.pdf-overlay{position:absolute;inset:0;line-height:normal}.pdf-overlay.placing{cursor:crosshair}
.pdf-field-box{position:absolute;display:flex;align-items:center;padding:2px 5px;border:2px solid #1aaee5;background:rgba(20,167,219,.16);color:#042333;font-size:11px;font-weight:800;overflow:hidden;cursor:move;box-sizing:border-box;line-height:1.15}.pdf-field-box.type-signature{border-color:#3ca67a;background:rgba(60,166,122,.18)}.pdf-field-box.type-sensitive_text{border-color:#c58b23;background:rgba(197,139,35,.18)}.pdf-field-box.type-checkbox{padding:0}.pdf-field-box.selected{outline:2px solid #fff;box-shadow:0 0 0 4px rgba(0,0,0,.42);z-index:5}.pdf-resize-handle{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;background:#076b94;border:1px solid white;cursor:nwse-resize}
.pdf-field-panel{position:sticky;top:15px;padding:16px;border:1px solid #183751;border-radius:12px;background:#08192a;max-height:calc(100vh - 110px);overflow:auto}.pdf-field-panel .grid.two{grid-template-columns:1fr 1fr}.pdf-coordinates{padding:8px 0}.pdf-field-list{display:flex;flex-direction:column;gap:5px}.pdf-field-list-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;width:100%;padding:8px;border:1px solid #17354e;border-radius:8px;background:#091b2c;color:#d5e9f6;text-align:left;cursor:pointer}.pdf-field-list-item:hover,.pdf-field-list-item.active{border-color:#48a9d0;background:#0e2a42}.pdf-field-list-item strong,.pdf-field-list-item small{display:block}.pdf-field-list-item small{color:#8cabbd;margin-top:2px}
#pdf-editor-toast{position:fixed;right:20px;bottom:20px;z-index:500;padding:11px 15px;border-radius:9px;background:#153d35;color:white;opacity:0;transform:translateY(20px);transition:.18s}#pdf-editor-toast.show{opacity:1;transform:none}#pdf-editor-toast.error{background:#5a252d}
@media(max-width:1050px){.pdf-editor-layout{grid-template-columns:1fr}.pdf-field-panel{position:static;max-height:none}}@media(max-width:700px){.pdf-editor-header{flex-direction:column}.pdf-editor-toolbar{align-items:stretch}.pdf-page-controls,.pdf-tools{justify-content:center}.pdf-canvas-panel{padding:5px}}

/* v0.11.1 PDF editor usability */
.pdf-editor-toolbar{position:sticky;top:8px;z-index:35;box-shadow:0 10px 26px rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.pdf-toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex-wrap:wrap}
.pdf-zoom-controls{display:flex;align-items:center;gap:6px}.pdf-zoom-controls #pdf-zoom-label{min-width:82px;text-align:center;font-size:12px;color:#b9d7e9;font-weight:800}
#pdf-done{font-weight:900;box-shadow:0 0 0 1px rgba(97,224,255,.25)}#pdf-done.has-unsaved{background:#9a6b12;border-color:#d39a2f;color:#fff}
.pdf-canvas-panel{display:flex;align-items:flex-start;justify-content:center;min-height:calc(100vh - 205px)}
.pdf-stage{flex:0 0 auto;transition:width .12s ease}.pdf-page-image{min-height:0}
#pdf-detect-fields{white-space:nowrap}
@media(max-width:900px){.pdf-editor-toolbar{top:4px}.pdf-toolbar-row{align-items:stretch}.pdf-page-controls,.pdf-zoom-controls,.pdf-tools{justify-content:center}.pdf-canvas-panel{min-height:0}}

/* v0.11.2 zoom/editor refinements */
.pdf-zoom-controls select{min-width:86px;padding:7px 9px}.pdf-canvas-panel{align-items:flex-start;justify-content:center;overflow:auto}.pdf-stage{max-width:none!important}.pdf-page-image{width:100%;height:auto}.pdf-editor-toolbar{top:4px}


/* v0.12 PDF.js editor */
.pdfjs-editor{max-width:1680px;margin:0 auto}.pdfjs-editor-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:12px}.pdfjs-editor-head h1{margin:3px 0}.pdfjs-editor-toolbar{position:sticky;top:4px;z-index:35;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;margin-bottom:12px;border:1px solid #1b405e;border-radius:10px;background:rgba(8,25,42,.96);box-shadow:0 10px 28px rgba(0,0,0,.28)}.pdfjs-pages,.pdfjs-zoom{display:flex;gap:7px;align-items:center}.pdfjs-zoom select{min-width:88px;padding:7px 8px}
.pdfjs-editor-grid{display:grid;grid-template-columns:230px minmax(0,1fr) 320px;gap:12px;align-items:start}.pdfjs-left,.pdfjs-right{position:sticky;top:76px;max-height:calc(100vh - 90px);overflow:auto;padding:14px;border:1px solid #183751;border-radius:11px;background:#08192a}.pdfjs-center{min-width:0}.pdfjs-viewport{min-height:calc(100vh - 170px);overflow:auto;padding:16px;background:#04101b;border:1px solid #183751;border-radius:11px;display:flex;align-items:flex-start;justify-content:center}.pdfjs-stage{position:relative;flex:0 0 auto;background:white;box-shadow:0 12px 46px rgba(0,0,0,.48)}#pdfjs-canvas{display:block}.pdfjs-overlay{position:absolute;inset:0}
.pdfjs-tools{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pdfjs-tools button{padding:8px;border:1px solid #28506d;border-radius:7px;background:#0a2035;color:#d3e8f5;cursor:pointer}.pdfjs-tools button:hover,.pdfjs-tools button.active{border-color:#58d9ff;background:#123b5a;color:white}
.pdfjs-field{position:absolute;display:flex;align-items:center;box-sizing:border-box;padding:2px 4px;overflow:hidden;font-size:10px;font-weight:800;line-height:1.1;cursor:pointer}.pdfjs-field.native{border:2px dashed #d59727;background:rgba(229,170,54,.12);color:#4a2f00}.pdfjs-field.native.mapped{border-color:#45a77e;background:rgba(69,167,126,.14)}.pdfjs-field.mapping{border:2px solid #179bd0;background:rgba(23,155,208,.15);color:#062c3c;cursor:move}.pdfjs-field.selected{outline:2px solid #fff;box-shadow:0 0 0 4px rgba(0,0,0,.45);z-index:6}.pdfjs-resize{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;background:#08688f;border:1px solid white;cursor:nwse-resize}
.pdfjs-native-fields{display:flex;flex-direction:column;gap:5px;margin-top:9px}.pdfjs-native-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:6px;width:100%;padding:7px;border:1px solid #213f56;border-radius:7px;background:#091b2c;color:#d8eaf5;text-align:left;cursor:pointer}.pdfjs-native-item.mapped{border-color:#34785f}.pdfjs-native-item strong,.pdfjs-native-item small{display:block}.pdfjs-native-item small{color:#8eabba;margin-top:2px}#pdfjs-field-meta{padding:7px 0}
#pdfjs-done.has-unsaved{background:#996b13;border-color:#d9a137;color:white}#pdfjs-notice{position:fixed;right:20px;bottom:20px;z-index:800;padding:11px 15px;border-radius:9px;background:#153d35;color:white;opacity:0;transform:translateY(20px);transition:.18s}#pdfjs-notice.show{opacity:1;transform:none}#pdfjs-notice.error{background:#5b252d}
.template-delete-modal .fm-modal-card{max-width:560px}.template-delete-warning{padding:10px;border-radius:8px;background:#301b20;color:#ffd5dc;margin:12px 0}
@media(max-width:1180px){.pdfjs-editor-grid{grid-template-columns:210px minmax(0,1fr)}.pdfjs-right{position:fixed;right:0;top:0;bottom:0;width:min(360px,90vw);max-height:none;z-index:90;box-shadow:0 0 40px rgba(0,0,0,.5)}}
@media(max-width:760px){.pdfjs-editor-head{flex-direction:column}.pdfjs-editor-toolbar{align-items:stretch;flex-direction:column}.pdfjs-editor-grid{grid-template-columns:1fr}.pdfjs-left{position:static;max-height:none}.pdfjs-tools{grid-template-columns:repeat(3,1fr)}.pdfjs-viewport{padding:5px;min-height:0}}


/* v0.12.1B full-width PDF editing workspace */
main.portal-main-editor {
  max-width: none;
  width: 100%;
  padding: 18px 12px 46px;
  margin: 0;
}

main.portal-main-editor .pdfjs-editor {
  max-width: none;
  width: 100%;
  margin: 0;
}

main.portal-main-editor .pdfjs-editor-head {
  padding: 0 6px;
}

main.portal-main-editor .pdfjs-editor-toolbar {
  margin-left: 0;
  margin-right: 0;
}

main.portal-main-editor .pdfjs-editor-grid {
  grid-template-columns: 220px minmax(0, 1fr) 300px;
  gap: 10px;
  width: 100%;
}

main.portal-main-editor .pdfjs-left,
main.portal-main-editor .pdfjs-right {
  padding: 12px;
}

main.portal-main-editor .pdfjs-center {
  width: 100%;
  min-width: 0;
}

main.portal-main-editor .pdfjs-viewport {
  width: 100%;
  min-height: calc(100vh - 178px);
  padding: 10px;
}

@media (min-width: 1500px) {
  main.portal-main-editor {
    padding-left: 16px;
    padding-right: 16px;
  }

  main.portal-main-editor .pdfjs-editor-grid {
    grid-template-columns: 230px minmax(0, 1fr) 320px;
  }
}

@media (max-width: 1180px) {
  main.portal-main-editor .pdfjs-editor-grid {
    grid-template-columns: 200px minmax(0, 1fr);
  }

  main.portal-main-editor .pdfjs-right {
    width: min(350px, 90vw);
  }
}

@media (max-width: 760px) {
  main.portal-main-editor {
    padding: 10px 6px 35px;
  }

  main.portal-main-editor .pdfjs-editor-grid {
    grid-template-columns: 1fr;
  }
}
