:root{--ink:#17233c;--muted:#6e7b91;--line:#e1e7ef;--paper:#fff;--wash:#f3f7fa;--navy:#112849;--teal:#0c9b88;--teal-dark:#087565;--orange:#ff9a62;--red:#b94152;--shadow:0 22px 55px rgba(34,55,83,.11)}
a:focus-visible,button:focus-visible,input:focus-visible,.drop-zone:focus-within{outline:3px solid var(--orange);outline-offset:3px}
*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#f8fafc 0%,#edf5f4 100%);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.5}.ambient{position:fixed;border-radius:999px;filter:blur(4px);pointer-events:none;opacity:.55;z-index:-1}.ambient-one{width:410px;height:410px;background:radial-gradient(circle,#d9f3ec,transparent 68%);right:-90px;top:-80px}.ambient-two{width:330px;height:330px;background:radial-gradient(circle,#fde8db,transparent 68%);left:-100px;bottom:-90px}h1,h2,.brand{font-family:"Manrope",sans-serif}h1{font-size:clamp(2.25rem,5vw,4.2rem);line-height:1.02;letter-spacing:-.055em;margin:.25rem 0 1rem}h2{letter-spacing:-.035em;margin:.1rem 0;font-size:1.5rem}p{margin:.35rem 0}.site-header{position:sticky;top:0;z-index:80;height:52px;display:flex;align-items:center;justify-content:space-between;max-width:none;margin:0;padding:0 22px;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #cfe0dc;box-shadow:0 6px 20px rgba(22,35,52,.06)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);font-weight:800;font-size:1.24rem;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(145deg,var(--teal),#44c6aa);color:#fff;box-shadow:0 8px 20px rgba(12,155,136,.25)}.brand.light{color:#fff}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav>a,.link-button{color:#536077;text-decoration:none;font:600 .9rem "DM Sans",sans-serif}.site-header nav>a:hover,.link-button:hover{color:var(--teal)}.user-chip{padding:8px 12px;background:#e7f3f0;border-radius:99px;font-size:.84rem;font-weight:600;color:#236b61}.logout-form{display:inline}.link-button{border:0;background:none;cursor:pointer;padding:6px}.page-shell{max-width:1180px;margin:auto;padding:28px 28px 54px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:700;font-size:.72rem;color:var(--teal)}.lede{font-size:1.08rem;color:var(--muted);max-width:640px}.hero-row,.simple-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:36px}.hero-row h1{max-width:700px}.security-card{display:flex;align-items:center;gap:13px;min-width:230px;padding:16px 18px;background:rgba(255,255,255,.72);border:1px solid #dfe9e7;border-radius:16px;box-shadow:0 12px 30px rgba(33,73,76,.07)}.security-card strong,.security-card span{display:block}.security-card div span{font-size:.79rem;color:var(--muted)}.security-icon{display:grid!important;place-items:center;width:35px;height:35px;border-radius:50%;background:#daf2e8;color:var(--teal);font-weight:800}.safety-warning{padding:16px 18px;border-radius:14px;border:2px solid #f0ad4e;background:#fff7e8;color:#7a4e0b;margin:-12px 0 28px}.safety-warning strong{display:block}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.72fr);gap:24px;align-items:stretch}.upload-card,.how-card,.history-card{background:rgba(255,255,255,.94);border:1px solid rgba(218,226,234,.9);border-radius:24px;box-shadow:var(--shadow)}.upload-card{padding:30px}.card-heading,.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.step-label{font-size:.72rem;color:var(--teal);font-weight:700;text-transform:uppercase;letter-spacing:.12em}.limit-pill{font-size:.75rem;font-weight:700;background:#eef4f7;color:#5f6e82;border-radius:99px;padding:7px 11px}.drop-zone{min-height:260px;border:2px dashed #bdd2d2;border-radius:18px;background:linear-gradient(145deg,#f7fbfa,#f5f8fb);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.2s;color:var(--muted)}.drop-zone:hover,.drop-zone.dragging{border-color:var(--teal);background:#edf9f6;transform:translateY(-2px)}.drop-zone strong{font-size:1.07rem;color:var(--ink);margin:10px 0 1px}.drop-zone u{color:var(--teal);font-weight:600}.upload-symbol{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#dff3ee;color:var(--teal);font-size:1.7rem;font-weight:400}.file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0,0,0,0)}.selected-file{display:flex;align-items:center;gap:12px;background:#f3f7f8;border:1px solid #dee8e8;border-radius:13px;padding:11px 12px;margin-top:12px}.selected-file div{display:flex;flex-direction:column;min-width:0;flex:1}.selected-file strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-file div span{font-size:.78rem;color:var(--muted)}.selected-file button{border:0;background:none;font-size:1.5rem;color:#7d8798;cursor:pointer}.file-badge{font-size:.62rem;font-weight:800;letter-spacing:.06em;background:var(--navy);color:#fff;padding:7px 6px;border-radius:7px}.primary-button{width:100%;border:0;border-radius:13px;background:linear-gradient(110deg,var(--teal-dark),var(--teal));color:#fff;padding:14px 18px;margin-top:16px;display:flex;justify-content:space-between;align-items:center;font:700 .96rem "DM Sans",sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 11px 24px rgba(9,133,116,.2);transition:.2s}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(9,133,116,.27)}.primary-button:disabled{background:#b4c1ca;box-shadow:none;cursor:not-allowed;transform:none}.primary-button.compact{width:auto;display:inline-flex;gap:18px;margin:0}.fine-print{text-align:center;color:#8490a1;font-size:.73rem;margin-top:10px}.field-error,.inline-result.error{background:#fff0f1;color:#9c2e40;border:1px solid #f2c5cc;border-radius:10px;padding:10px 12px;margin-top:10px;font-size:.88rem}.inline-result.success{background:#eaf8f3;color:#08715f;border:1px solid #c4eadf;border-radius:10px;padding:10px 12px;margin-top:10px}.progress-wrap{margin:14px 2px 0}.progress-copy{display:flex;justify-content:space-between;font-size:.79rem;color:var(--muted);margin-bottom:7px}.progress-track{height:7px;background:#e3e9ed;border-radius:99px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:var(--teal);border-radius:99px;transition:width .2s}.how-card{padding:30px;background:linear-gradient(155deg,#132d50,#173b55);color:#fff}.how-card .eyebrow{color:#68d4bc}.steps{list-style:none;padding:12px 0 0;margin:0}.steps li{display:grid;grid-template-columns:34px 1fr;gap:13px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.12)}.steps li:last-child{border:0}.steps>li>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:rgba(99,211,185,.16);color:#75dbc4;font-weight:700;font-size:.78rem}.steps strong{font-size:.93rem}.steps p{color:#b7c5d1;font-size:.81rem;margin-top:3px}.history-card{margin-top:25px;padding:28px}.section-heading a{color:var(--teal-dark);font-weight:700;text-decoration:none;font-size:.86rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#8b96a6;padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:15px 12px;border-bottom:1px solid #edf0f3;color:#5c697c;font-size:.84rem;vertical-align:middle}tbody tr:last-child td{border-bottom:0}td:first-child{display:flex;align-items:center;gap:10px;color:var(--ink)}.table-file-icon{display:grid;place-items:center;width:34px;height:34px;background:#edf3f6;border-radius:9px;color:#627186;font-size:.57rem;font-weight:800}.status{display:inline-flex;align-items:center;gap:6px;border-radius:99px;padding:5px 9px;font-size:.72rem;font-weight:700}.status i{width:6px;height:6px;border-radius:50%;background:currentColor}.status-success{color:#08715f;background:#e5f6f0}.status-failed{color:#aa3446;background:#fbecee}.status-uploading{color:#9a630c;background:#fff2dc}.error-detail{display:block;color:#9d5660;font-size:.7rem;margin-top:4px;max-width:290px}.empty-state{text-align:center;padding:36px 10px;color:var(--muted)}.empty-state>span{display:block;font-size:2rem;color:#aac3c1}.empty-state strong{display:block;color:var(--ink);margin:6px}.message-stack{margin-bottom:18px}.message{padding:13px 15px;border-radius:12px;background:#e9f7f2;color:#08715f}.message.error{background:#fff0f1;color:#9c2e40}.simple-hero{align-items:center}.simple-hero h1{font-size:3rem}.full-history{margin-top:0}.pagination{display:flex;justify-content:center;gap:22px;padding-top:24px;color:var(--muted);font-size:.85rem}.pagination a{color:var(--teal-dark);font-weight:700;text-decoration:none}
.login-shell{max-width:none;padding:0;min-height:100vh}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(380px,.9fr) minmax(480px,1.1fr)}.login-story{padding:52px clamp(35px,6vw,90px);background:linear-gradient(150deg,#102848,#164862);color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:380px;height:380px;border:80px solid rgba(81,211,181,.09);border-radius:50%;right:-150px;bottom:-120px}.login-story h1{font-size:clamp(3rem,5vw,5.3rem)}.login-story>div>p:last-child{color:#b9cbd4;max-width:520px;font-size:1.05rem}.story-foot{color:#91b4be;font-size:.82rem}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:var(--shadow)}.login-card h2{font-size:2rem}.muted,.support-note{color:var(--muted)}.login-card form{margin-top:28px}.login-card label{display:block;font-size:.8rem;font-weight:700;margin:15px 0 6px}.login-card input{width:100%;border:1px solid #ccd6df;border-radius:11px;padding:13px 14px;font:inherit;outline:none}.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(12,155,136,.12)}.support-note{font-size:.78rem;margin-top:18px}
@media(max-width:850px){.workspace-grid{grid-template-columns:1fr}.hero-row{align-items:flex-start;flex-direction:column}.security-card{width:100%}.login-layout{grid-template-columns:1fr}.login-story{min-height:330px;padding:34px}.login-story h1{font-size:3.1rem}.login-panel{padding:30px 20px}.site-header nav>a{display:none}.site-header nav{gap:10px}.user-chip{display:none}.page-shell{padding:42px 18px}.simple-hero{align-items:flex-start;flex-direction:column}.simple-hero h1{font-size:2.5rem}}
@media(max-width:520px){.site-header{height:66px;padding:0 17px}.page-shell{padding-top:32px}.upload-card,.how-card,.history-card{border-radius:19px;padding:20px}.drop-zone{min-height:210px}.hero-row h1{font-size:2.55rem}.card-heading{align-items:flex-start}.limit-pill{margin-top:5px}.table-wrap{margin:0 -8px}.login-story{min-height:290px}.login-story h1{font-size:2.6rem}.login-card{padding:27px 21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.connect-card{width:min(500px,100%)}.target-summary{display:flex;align-items:center;gap:13px;margin:22px 0 6px;padding:14px;border:1px solid #dce7e7;border-radius:14px;background:#f2f8f7}.target-summary div{display:flex;flex-direction:column;min-width:0}.target-summary small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.target-summary strong{overflow:hidden;text-overflow:ellipsis}.target-summary div span{font-size:.76rem;color:var(--muted)}.target-icon{display:grid;place-items:center;flex:0 0 39px;height:39px;border-radius:12px;background:#dff3ee;color:var(--teal);font-size:1.15rem}.connection-error{margin:16px 0;padding:12px 14px;border:1px solid #f0c5cb;border-radius:12px;background:#fff1f2;color:#943347;font-size:.86rem}.connection-error strong{display:block}.connection-error.neutral{border-color:#d9e2ea;background:#f4f7f9;color:#526174}.connection-error code{font-size:.78rem}.credential-note{display:flex;gap:8px;color:var(--muted);font-size:.76rem;margin-top:14px}.destination-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.destination-line span{padding:7px 10px;border:1px solid #dbe6e6;border-radius:99px;background:rgba(255,255,255,.7);color:#546478;font-size:.75rem;font-weight:600;overflow-wrap:anywhere}
.folder-browser{border:1px solid #dde7e9;border-radius:16px;background:#f7fafb;margin-bottom:26px;overflow:hidden}.folder-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid #e3ebee;background:#fff}.folder-toolbar div{display:flex;flex-direction:column;min-width:0}.folder-toolbar small{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}.folder-toolbar strong{font-size:.94rem;overflow-wrap:anywhere}.folder-up{border:1px solid #cfdcdf;border-radius:10px;padding:7px 12px;color:var(--teal-dark);font-weight:800;text-decoration:none;font-size:.8rem;background:#fff}.folder-list{max-height:260px;overflow:auto}.folder-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid #e8eef1;color:var(--ink);text-decoration:none}.folder-row:last-child{border-bottom:0}.folder-row span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-row small{color:var(--muted);font-size:.74rem}.folder-row.is-folder:hover{background:#eef8f5}.entry-icon{display:grid;place-items:center;width:36px;height:30px;border-radius:9px;background:#e1f4ef;color:var(--teal-dark);font-size:.58rem;font-weight:900;letter-spacing:.04em}.is-file .entry-icon{background:#eef3f7;color:#647286}.folder-empty{padding:22px 16px;text-align:center;color:var(--muted);font-size:.88rem}.upload-heading{margin-top:6px}.upload-destination{margin:-10px 0 14px;color:var(--muted);font-size:.86rem}.upload-destination strong{color:var(--ink);overflow-wrap:anywhere}
.transfer-shell{display:grid;grid-template-columns:185px minmax(0,1fr);min-height:680px;margin:-28px -28px 0;background:#fff;border:1px solid #d9dfe5}.transfer-sidebar{background:#f6f6f7;border-right:1px solid #d5d9de;padding:14px 0}.filter-box{display:flex;align-items:center;gap:6px;padding:0 18px 14px;color:#1d2735;font-size:.82rem}.filter-box input{width:100%;border:0;border-bottom:1px solid #9aa3ad;background:transparent;padding:5px 0;font:inherit}.transfer-sidebar h2{font-family:"DM Sans",sans-serif;font-size:1rem;margin:8px 10px}.sidebar-folder{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#dcdcdc;color:#111;text-decoration:none;font-weight:800;font-size:.82rem}.transfer-main{min-width:0;background:#fff}.transfer-toolbar{height:50px;border-bottom:1px solid #d8dde2;display:flex;align-items:center;gap:10px;padding:0 20px}.tool-button{border:0;background:#fff;color:#111;text-decoration:none;font:600 .82rem "DM Sans",sans-serif;cursor:pointer;padding:8px 6px}.tool-button:hover{color:var(--teal-dark)}.icon-only{font-size:0}.icon-only:before{content:"Refresh";font-size:.82rem}.toolbar-spacer{flex:1}.server-chip{font-size:.82rem;color:#516070;background:#f0f4f6;border-radius:999px;padding:5px 10px}.safety-warning.compact{margin:12px 16px;padding:10px 14px}.file-manager{padding:16px 20px 40px}.file-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.file-heading h1{font-size:1.15rem;letter-spacing:0;margin:0 0 8px}.file-heading p,.file-heading span{margin:0;color:#5f6c7c;font-size:.76rem}.new-folder-form{display:flex;gap:8px;align-items:center;margin:12px 0;padding:10px;background:#f5f8fa;border:1px solid #dfe6ec;border-radius:8px}.new-folder-form input{min-width:220px;border:1px solid #cbd4de;border-radius:6px;padding:8px 10px;font:inherit}.new-folder-form button{border:1px solid #cbd4de;background:#fff;border-radius:6px;padding:8px 12px;font-weight:700;cursor:pointer}.file-table{min-height:380px;border-top:1px solid #d8dde2;position:relative}.file-table.dragging{background:#f1faf7}.file-table-head,.file-row{display:grid;align-items:center}.file-table-head{height:48px;color:#667383;font-size:.72rem;border-bottom:1px solid #d8dde2}.file-row{min-height:44px;border-bottom:1px solid #edf0f3;color:#17233c;text-decoration:none;font-size:.84rem}.file-row:hover{background:#f6faf9}.file-row>span{padding-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-transfer{position:absolute;left:50%;top:50%;transform:translate(-50%,-42%);text-align:center;color:#3d4856}.empty-transfer span{display:block;font-size:2rem;font-weight:900;color:#596372}.empty-transfer strong{display:block;margin-top:8px;font-size:.94rem}.empty-transfer p{color:#596372}.transfer-progress{max-width:560px}.transfer-history{margin-left:0;margin-right:0}.page-shell:has(.transfer-shell){max-width:none;padding:28px}.site-header:has(+ .page-shell .transfer-shell){max-width:none;background:#202020;color:#fff;border:0}.site-header:has(+ .page-shell .transfer-shell) .brand,.site-header:has(+ .page-shell .transfer-shell) nav>a,.site-header:has(+ .page-shell .transfer-shell) .link-button{color:#fff}@media(max-width:850px){.transfer-shell{grid-template-columns:1fr;margin:0}.transfer-sidebar{display:none}.file-table-head span:last-child,.file-row span:last-child{display:none}.transfer-toolbar{overflow:auto;padding:0 10px}.server-chip{display:none}.page-shell:has(.transfer-shell){padding:0 0 28px}}
.file-table-head,.file-row{grid-template-columns:minmax(280px,1.35fr) minmax(120px,.35fr) minmax(150px,.45fr)}.file-row{min-height:66px;font-size:.9rem}.file-row>span{padding:0 16px 0 0}.file-name-cell{display:flex!important;align-items:center;gap:15px;min-width:0}.file-name-cell>span{display:flex;flex-direction:column;min-width:0}.file-name-cell strong{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-name-cell small{font-size:.72rem;color:#7d8998;margin-top:2px}.manager-icon{position:relative;display:inline-block;width:34px;height:27px;min-width:0;background:none;color:inherit;border:0;border-radius:0}.file-name-cell .manager-icon{flex:0 0 34px}.folder-icon:before{content:"";position:absolute;left:1px;top:8px;width:31px;height:18px;border-radius:5px 5px 4px 4px;background:linear-gradient(180deg,#ffde68,#ffc62e);box-shadow:inset 0 -2px 0 rgba(176,113,0,.12),0 3px 8px rgba(35,44,55,.08)}.folder-icon:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:8px;border-radius:4px 4px 0 0;background:#e7a500}.document-icon:before{content:"";position:absolute;left:7px;top:2px;width:20px;height:24px;border:1px solid #b9c5d2;border-radius:5px;background:linear-gradient(180deg,#fff,#f6f9fc);box-shadow:0 3px 8px rgba(18,35,55,.1)}.document-icon:after{content:"";position:absolute;right:7px;top:3px;width:8px;height:8px;background:linear-gradient(135deg,#e5ebf2 50%,#fff 50%);border-left:1px solid #b9c5d2;border-bottom:1px solid #b9c5d2;border-radius:0 4px 0 2px}.tree-icon{width:32px;height:28px}.tree-icon:before{content:"";position:absolute;left:6px;top:5px;width:4px;height:20px;border-radius:3px;background:#a5adb5;box-shadow:12px 5px 0 -1px #a5adb5,12px 17px 0 -1px #a5adb5}.tree-icon:after{content:"";position:absolute;left:14px;top:4px;width:15px;height:11px;border-radius:3px;background:linear-gradient(180deg,#ffdd63,#ffc32c);box-shadow:0 12px 0 #ffc32c}.sidebar-folder .tree-icon{flex:0 0 32px}.file-table-head span:first-child{padding-left:49px}.file-row:hover .folder-icon:before{background:linear-gradient(180deg,#ffd957,#f5b91e)}.file-row:hover .document-icon:before{border-color:#91a5ba}.file-row[data-name]{cursor:default}a.file-row[data-name]{cursor:pointer}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:4px;color:#657386;font-size:.82rem}.breadcrumbs a{color:#087565;text-decoration:none;font-weight:700}.breadcrumbs a:hover{text-decoration:underline}.crumb-current{font-weight:800;color:#17233c}.crumb-separator{color:#98a4b2}.file-list-help{display:flex;flex-wrap:wrap;gap:16px;margin:-4px 0 14px;padding:10px 12px;border:1px solid #e1e8ee;border-radius:10px;background:#f8fafb;color:#5d6a7a;font-size:.78rem}.file-list-help span{display:inline-flex;align-items:center;gap:8px}.file-list-help .manager-icon{width:22px;height:18px}.file-list-help .folder-icon:before{width:20px;height:12px;top:6px}.file-list-help .folder-icon:after{width:9px;height:6px;top:2px}.file-list-help .document-icon:before{left:5px;top:1px;width:13px;height:17px}.file-list-help .document-icon:after{right:4px;top:2px;width:6px;height:6px}@media(max-width:850px){.file-table-head,.file-row{grid-template-columns:minmax(170px,1fr) 90px}.file-table-head span:last-child,.file-row span:last-child{display:none}.file-table-head span:first-child{padding-left:49px}.file-name-cell{gap:12px}.file-list-help{gap:10px}}
.server-folder{align-items:flex-start;gap:10px;padding:12px 10px 12px 14px}.server-folder>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.2}.server-folder strong{font-size:.78rem;white-space:normal}.server-folder small{margin-top:4px;color:#526174;font-size:.64rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server-file-icon{flex:0 0 36px;width:36px;height:34px}.server-file-icon:before{content:"";position:absolute;left:1px;top:3px;width:25px;height:28px;border-radius:5px;background:linear-gradient(180deg,#e9f0f4,#c9d5df);border:1px solid #98a8b7;box-shadow:inset 0 4px 0 rgba(255,255,255,.38),0 3px 8px rgba(23,35,60,.12)}.server-file-icon:after{content:"";position:absolute;right:0;bottom:1px;width:17px;height:22px;border:1px solid #b8c4d0;border-radius:5px;background:linear-gradient(180deg,#fff,#f4f8fb);box-shadow:0 3px 8px rgba(23,35,60,.12)}.server-file-icon i{display:none}.server-file-icon{background:linear-gradient(180deg,#0c9b88,#087565);background-size:4px 4px;background-position:7px 10px;background-repeat:no-repeat}.server-folder-note{margin:-3px 0 8px!important;color:#657386!important;font-size:.78rem!important}
/* KRYON brand mark (PNG) */
.kryon-brand{display:inline-flex;align-items:center;gap:0}
.kryon-brand-logo{display:block;height:44px;width:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(15,42,72,.18))}
.brand.light .kryon-brand-logo{filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.login-brand{position:relative;z-index:3}
.login-brand .kryon-brand-logo{height:64px}
.site-header .kryon-brand-logo{height:42px}

/* Login story panel with spherical space theme */
.login-story{background:radial-gradient(circle at 85% 78%,rgba(86,179,211,.22) 0 14%,transparent 22%),radial-gradient(circle at 12% 8%,rgba(78,150,200,.18) 0 12%,transparent 25%),linear-gradient(155deg,#0a1e38 0%,#0f3355 48%,#0a2540 100%)}
.login-story:before,.login-story:after{content:none}
.login-story>*{position:relative;z-index:2}
.login-message{max-width:560px}
.story-foot{color:#8faec2;font-size:.82rem;letter-spacing:.05em}

/* Sphere scene — orbits, spheres, stars */
.sphere-scene{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.sphere{position:absolute;border-radius:50%;pointer-events:none}
.sphere-primary{width:520px;height:520px;right:-160px;bottom:-190px;background:radial-gradient(circle at 32% 28%,rgba(230,246,255,.32) 0%,rgba(120,190,230,.24) 22%,rgba(38,110,170,.18) 55%,rgba(10,40,80,.02) 78%,transparent 100%);box-shadow:inset 40px -30px 80px rgba(8,32,60,.35),0 0 90px rgba(90,180,220,.15)}
.sphere-secondary{width:180px;height:180px;left:-60px;top:32%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35) 0%,rgba(140,205,235,.18) 40%,rgba(30,90,140,.05) 75%,transparent 100%);box-shadow:inset 18px -14px 40px rgba(8,32,60,.28),0 0 60px rgba(100,180,220,.12);opacity:.85}
.orbit{position:absolute;border-radius:50%;border:1.5px solid rgba(120,200,230,.18);pointer-events:none}
.orbit-a{width:640px;height:640px;right:-220px;bottom:-260px;border-width:1px;border-color:rgba(120,200,230,.24);transform:rotate(-18deg)}
.orbit-b{width:520px;height:520px;right:-160px;bottom:-190px;border-color:rgba(140,210,235,.16);transform:rotate(22deg)}
.orbit-c{width:400px;height:400px;right:-100px;bottom:-120px;border-color:rgba(160,220,240,.12);transform:rotate(58deg)}
.star{position:absolute;width:3px;height:3px;border-radius:50%;background:#e8f4ff;box-shadow:0 0 8px rgba(200,230,255,.7);pointer-events:none;opacity:.85}
.star-1{top:14%;left:22%;width:2px;height:2px}
.star-2{top:28%;right:28%;width:4px;height:4px}
.star-3{top:52%;left:14%}
.star-4{bottom:22%;left:38%;width:2px;height:2px;opacity:.65}
.star-5{top:8%;right:12%;width:2px;height:2px}

/* Target icon (connect card) */
.target-icon{font-size:0;position:relative}
.target-icon:before{content:"";width:18px;height:14px;border-radius:4px;background:#0c9b88;box-shadow:10px 4px 0 -2px #64cdbc;position:absolute;left:10px;top:13px}
.target-icon:after{content:"";position:absolute;left:14px;top:17px;width:14px;height:2px;background:#fff;box-shadow:5px 0 0 #fff}

/* Frosted-glass edge-to-edge header (transfer-shell pages only) */
.site-header:has(+ .page-shell .transfer-shell){
  position:sticky;top:0;z-index:80;
  margin:0;
  max-width:none;
  height:52px;
  padding:0 22px;
  border:0;
  border-radius:0;
  border-bottom:1px solid #cfe0dc;
  background:rgba(255,255,255,.78);
  box-shadow:0 6px 20px rgba(22,35,52,.06);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px)
}
.page-shell:has(.transfer-shell){max-width:none;padding:14px 14px 26px;background:linear-gradient(145deg,#f7fafc 0%,#eef5f4 100%)}
.transfer-shell{display:block;gap:0;align-items:start;min-height:calc(100vh - 60px);margin:0;background:transparent;border:0}
.transfer-main{min-height:calc(100vh - 90px);overflow:visible;border:1px solid rgba(205,214,224,.92);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 16px 38px rgba(22,35,52,.1)}
.transfer-toolbar{position:sticky;top:64px;z-index:40;height:52px;border-bottom:1px solid rgba(216,221,226,.92);background:rgba(255,255,255,.95);backdrop-filter:blur(12px)}
.transfer-sidebar h2{margin:16px 16px 10px}.filter-box{padding:14px 18px 16px}.sidebar-folder{margin:0 10px;border-radius:14px;background:rgba(226,231,236,.9);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}.sidebar-folder:hover{background:#dfe8ed}.file-manager{padding:18px 18px 42px}.safety-warning.compact{margin:12px 18px}
@media(max-width:850px){.site-header:has(+ .page-shell .transfer-shell){padding:0 14px}.page-shell:has(.transfer-shell){padding:10px 0 24px}.transfer-shell{display:block}.transfer-main{border-radius:0;border-left:0;border-right:0}.transfer-toolbar{top:60px}}

/* Production action bar and new-folder panel */
.transfer-toolbar{margin:12px 14px 0;border:1px solid rgba(212,222,231,.95);border-radius:16px;box-shadow:0 14px 34px rgba(22,35,52,.09);background:rgba(255,255,255,.92)}
.toolbar-action-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tool-button{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 14px;border:1px solid transparent;border-radius:12px;background:transparent;color:#18243a;font-weight:800;transition:background .18s ease,box-shadow .18s ease,transform .18s ease,border-color .18s ease;text-decoration:none;cursor:pointer;font:800 .88rem "DM Sans",sans-serif}
.tool-button:hover{background:#f0f6f7;color:#087565;border-color:#d3e3e4;transform:translateY(-1px)}
.tool-primary{background:linear-gradient(135deg,#0b8f80,#0caa94);color:#fff;box-shadow:0 10px 22px rgba(12,155,136,.22)}
.tool-primary:hover{background:linear-gradient(135deg,#087565,#0b9d8b);color:#fff;border-color:transparent}
.tool-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.tool-icon{width:18px;height:18px;flex:0 0 18px;display:block}
.tool-icon path,.tool-icon circle{stroke:currentColor}
.toolbar-filter{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;border:1px solid #d5dfe6;border-radius:12px;background:#f7fafb;color:#6b7a8d;transition:border-color .18s,background .18s}
.toolbar-filter:focus-within{border-color:#0c9b88;background:#fff;box-shadow:0 0 0 3px rgba(12,155,136,.12)}
.toolbar-filter svg{width:16px;height:16px;color:#8b96a6}
.toolbar-filter input{border:0;background:transparent;outline:none;font:600 .86rem "DM Sans",sans-serif;color:#17233c;min-width:170px}
.toolbar-filter input::placeholder{color:#9aa6b6;font-weight:600}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.new-folder-form{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(360px,1.28fr);gap:16px;align-items:center;margin:0 0 16px;padding:16px;border:1px solid #dbe6ee;border-radius:18px;background:linear-gradient(135deg,#fbfdff,#f2f8f7);box-shadow:0 14px 34px rgba(22,35,52,.08)}
.new-folder-copy{display:flex;align-items:center;gap:13px;color:#17233c}
.new-folder-copy .manager-icon{flex:0 0 34px}
.new-folder-copy strong{display:block;font-weight:900}
.new-folder-copy small{display:block;margin-top:2px;color:#6b788b;font-size:.78rem}
.new-folder-controls{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.new-folder-form input[type=text]{min-width:260px;flex:1;border:1px solid #c7d5df;border-radius:13px;padding:12px 14px;background:#fff;font:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.new-folder-form input[type=text]:focus{border-color:#0c9b88;box-shadow:0 0 0 3px rgba(12,155,136,.12);outline:none}
.new-folder-form button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;padding:12px 18px;font:900 .88rem "DM Sans",sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s}
.new-folder-form button svg{width:16px;height:16px;display:block}
.new-folder-form button.folder-create-button{background:linear-gradient(135deg,#0b8f80,#0caa94);color:#fff;border:0;box-shadow:0 10px 22px rgba(12,155,136,.22)}
.new-folder-form button.folder-create-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(12,155,136,.28)}
.new-folder-form button.folder-cancel-button{background:#eef3f5;color:#3e4a5d;border:1px solid #dbe4ea}
.new-folder-form button.folder-cancel-button:hover{background:#e3eaee;transform:translateY(-1px)}
.file-row[hidden]{display:none!important}
/* Selection + row actions */
.file-table-head,.file-row{grid-template-columns:44px minmax(240px,1.35fr) minmax(100px,.35fr) minmax(140px,.45fr) 180px!important}
.select-cell{display:flex!important;align-items:center;justify-content:center;padding:0!important}
.actions-cell{padding:0 12px!important;font-size:.7rem;color:#8b96a6;text-transform:uppercase;letter-spacing:.08em}
.row-actions{display:flex!important;align-items:center;justify-content:flex-end;gap:4px;padding:0 12px!important}
.file-row .select-cell input,.file-table-head .select-cell input{width:16px;height:16px;accent-color:#0c9b88;cursor:pointer}
.file-row.is-selected{background:#eef8f5}
.row-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;color:#586377;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}
.row-action[hidden]{display:none!important}
.row-action svg{width:16px;height:16px;display:block}
.row-action:hover{background:#f0f6f7;color:#087565;border-color:#d3e3e4;transform:translateY(-1px)}
.row-action.delete-action:hover{background:#fdecef;color:#b94152;border-color:#f2c5cc}
.row-action.rename-confirm{color:#0b8f80}
.row-action.rename-confirm:hover{background:#e8f7f2;border-color:#bfe6dc}
.name-wrap{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.name-link{color:inherit;text-decoration:none}
.name-link:hover .entry-name{color:#087565;text-decoration:underline}
.rename-input{width:100%;max-width:760px;min-height:36px;border:1px solid #0c9b88;border-radius:8px;padding:8px 10px;font:600 .92rem "DM Sans",sans-serif;color:#17233c;background:#fff;box-shadow:0 0 0 3px rgba(12,155,136,.12);outline:none}
.file-row.renaming .entry-name,.file-row.renaming .name-wrap small{display:none}
.file-row.renaming .row-action.delete-action,.file-row.renaming .row-action.download-action,.file-row.renaming .row-action.rename-action{display:none}
/* Bulk actions bar */
.bulk-actions{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:12px 16px;border:1px solid #cfe4de;border-radius:14px;background:linear-gradient(135deg,#e8f7f2,#f2f8f7);box-shadow:0 10px 24px rgba(12,155,136,.12)}
.bulk-actions[hidden]{display:none!important}
.bulk-count{color:#0b6b5f;font-weight:800;font-size:.9rem;margin-right:auto}
.bulk-count strong{color:#0c9b88;font-size:1.05rem}
.bulk-button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;padding:9px 14px;font:800 .84rem "DM Sans",sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}
.bulk-button svg{width:16px;height:16px}
.bulk-download{background:linear-gradient(135deg,#0b8f80,#0caa94);color:#fff;box-shadow:0 8px 18px rgba(12,155,136,.22)}
.bulk-download:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(12,155,136,.3)}
.bulk-delete{background:#fbecef;color:#a03448;border:1px solid #f2c5cc}
.bulk-delete:hover{background:#f9dde2;transform:translateY(-1px)}
.bulk-clear{background:transparent;color:#556477;padding:8px 10px;text-decoration:underline;text-underline-offset:3px}
.bulk-clear:hover{color:#17233c;background:transparent}
@media(max-width:850px){
  .file-table-head,.file-row{grid-template-columns:38px minmax(170px,1fr) 90px!important}
  .file-table-head span:nth-child(4),.file-row span:nth-child(4),.file-table-head span:nth-child(5),.file-row span:nth-child(5){display:none!important}
  .row-actions{display:none!important}
  .bulk-actions{flex-wrap:wrap}
}
/* Header: connected-server chip on the left of nav, disconnect on the right.
   Visual details for chip + disconnect live in the final frosted-header
   override block near the bottom of this file. */
.site-header nav{gap:14px}
.site-header .user-chip{display:inline-flex;align-items:center;gap:8px;order:-1;margin-right:auto;border-radius:999px;letter-spacing:.01em;white-space:nowrap}
.site-header .user-chip .server-icon{width:15px;height:15px;flex:0 0 15px}
.disconnect-button{display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}
.disconnect-button svg{width:15px;height:15px}
@media(max-width:850px){
  .site-header .user-chip{padding:5px 10px!important;font-size:.75rem!important}
  .site-header .user-chip span{max-width:120px;overflow:hidden;text-overflow:ellipsis}
  .disconnect-button span{display:none}
  .disconnect-button{padding:6px 8px!important}
}
/* Server heading with icon */
.server-heading{display:flex;align-items:center;gap:10px;margin:0 0 8px!important}
.server-heading-icon{width:22px;height:22px;color:#0c9b88;flex:0 0 22px}
.new-folder-form[hidden]{display:none!important}
.file-heading{margin-top:2px}
.item-count{color:#6b788b;font-size:.82rem;font-weight:700}
@media(max-width:980px){.new-folder-form{grid-template-columns:1fr}.new-folder-controls{justify-content:flex-start;flex-wrap:wrap}.new-folder-form input{min-width:210px}.transfer-toolbar{height:auto;min-height:52px;padding-top:8px;padding-bottom:8px}}@media(max-width:850px){.transfer-toolbar{margin:0;border-radius:0}.toolbar-action-group{gap:6px}.tool-button{padding:8px 10px}.new-folder-form{margin:12px}}

/* File-table header: distinct background, larger + bolder text, normal case */
.file-table-head{height:52px;background:linear-gradient(180deg,#e8eef3,#dde5ec);color:#1e2b45;font-size:.9rem;font-weight:800;letter-spacing:.01em;text-transform:none;border-bottom:1px solid #c8d2dd}
.file-table-head .actions-cell{color:#1e2b45;font-size:.9rem;font-weight:800;text-transform:none;letter-spacing:.01em}

.file-table-head{
  min-height:56px!important;
  height:56px!important;
  background:linear-gradient(180deg,#eef6f8 0%,#dce9ef 100%)!important;
  border-top:1px solid #cbd9e2!important;
  border-bottom:1px solid #bdcbd7!important;
  color:#17233c!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.file-table-head>span,
.file-table-head .actions-cell{
  color:#17233c!important;
  font-size:.94rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.file-table-head .actions-cell::first-letter{text-transform:uppercase}

/* Align Actions header and row buttons to the same left edge */
.file-table-head .actions-cell{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
.file-row .row-actions{
  justify-content:flex-start!important;
  padding-left:12px!important;
  padding-right:12px!important;
  gap:8px!important;
}

/* ─── Admin (shares/users) and portal panels ───────────────────────────── */
.admin-shell{padding:22px clamp(20px,3vw,32px) 40px}
.admin-header{margin-bottom:22px}
.admin-header h1{font-size:1.65rem;letter-spacing:-.02em;margin:0 0 6px;color:#17233c}
.admin-header p{color:#657386;font-size:.9rem;margin:0}
.admin-section{background:#fff;border:1px solid #e0e7ee;border-radius:16px;padding:22px 24px;margin-bottom:22px;box-shadow:0 10px 24px rgba(22,35,52,.06)}
.admin-section h2{font-size:1.1rem;letter-spacing:-.01em;margin:0 0 4px;color:#17233c}
.admin-section .section-sub{color:#657386;font-size:.84rem;margin:0 0 16px}
.admin-form{display:grid;gap:14px;max-width:640px}
.admin-form.two-col{grid-template-columns:1fr 1fr}
.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:800;color:#374357;text-transform:uppercase;letter-spacing:.04em}
.admin-form input[type=text],
.admin-form input[type=email],
.admin-form input[type=number],
.admin-form input[type=password],
.admin-form select{width:100%;border:1px solid #ccd6df;border-radius:11px;padding:11px 13px;font:400 .95rem "DM Sans",sans-serif;color:#17233c;background:#fff;transition:border-color .18s,box-shadow .18s}
.admin-form input:focus,
.admin-form select:focus{border-color:#0c9b88;box-shadow:0 0 0 3px rgba(12,155,136,.14);outline:none}
.admin-form .field-hint{font-size:.76rem;font-weight:500;color:#7d8998;text-transform:none;letter-spacing:0;margin-top:-4px}
.admin-form .submit-row{display:flex;gap:10px;margin-top:6px}
.admin-form .btn-primary,
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:11px 18px;background:linear-gradient(135deg,#0b8f80,#0caa94);color:#fff;font:800 .9rem "DM Sans",sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(12,155,136,.22);transition:transform .18s,box-shadow .18s;text-decoration:none}
.admin-form .btn-primary:hover,
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(12,155,136,.28)}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;border:1px solid #d3e3e4;border-radius:12px;padding:9px 14px;background:#fff;color:#087565;font:800 .84rem "DM Sans",sans-serif;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s}
.btn-secondary:hover{background:#f0f6f7;transform:translateY(-1px)}
.btn-danger{display:inline-flex;align-items:center;gap:6px;border:1px solid #f2c5cc;border-radius:10px;padding:7px 12px;background:#fdecef;color:#b94152;font:800 .78rem "DM Sans",sans-serif;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s}
.btn-danger:hover{background:#f9dde2;transform:translateY(-1px)}
.inline-form{display:inline}

/* Simple data table used on admin/portal pages */
.data-table-wrap{overflow-x:auto;border:1px solid #e0e7ee;border-radius:14px;background:#fff}
.data-table{width:100%;border-collapse:collapse;text-align:left;min-width:520px}
.data-table th{background:linear-gradient(180deg,#eef6f8,#dce9ef);color:#17233c;font:900 .84rem "DM Sans",sans-serif;padding:14px 16px;border-bottom:1px solid #cbd9e2;text-transform:none;letter-spacing:0}
.data-table th:first-child{border-top-left-radius:14px}
.data-table th:last-child{border-top-right-radius:14px;text-align:right}
.data-table td{padding:14px 16px;border-bottom:1px solid #edf0f3;color:#3a4658;font-size:.88rem;vertical-align:middle}
.data-table td:first-child{display:table-cell;color:#17233c}
.data-table td:last-child{text-align:right;white-space:nowrap}
.data-table tbody tr:last-child td{border-bottom:0}
.data-table tbody tr:hover{background:#f6faf9}
.data-table .primary-cell{color:#17233c;font-weight:700}
.data-table .sub-line{display:block;margin-top:3px;color:#7d8998;font-size:.76rem;font-weight:400;word-break:break-all}
.data-table .status-pill{display:inline-block;padding:4px 10px;border-radius:99px;font-size:.72rem;font-weight:800;letter-spacing:.02em}
.status-pill.ok{background:#e5f6f0;color:#08715f}
.status-pill.warn{background:#fff2dc;color:#9a630c}
.status-pill.bad{background:#fbecee;color:#aa3446}
.empty-panel{padding:36px 16px;text-align:center;color:#7d8998}
.empty-panel strong{display:block;color:#17233c;font-size:1rem;margin-bottom:4px}

.admin-signed-in{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;padding:12px 18px;border:1px solid #dbe6ee;border-radius:14px;background:linear-gradient(135deg,#f6fbfa,#eef7f5)}
.admin-signed-in strong{color:#17233c}
.admin-signed-in .muted-text{color:#657386;font-size:.85rem}

@media(max-width:720px){
  .admin-form.two-col{grid-template-columns:1fr}
  .admin-section{padding:18px}
  .data-table th,.data-table td{padding:12px 12px}
}

/* ─── Portal browse (grant-scoped file browser) ──────────────────────── */
.portal-browse .portal-perms{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.crumb-home{display:inline-flex;align-items:center;gap:6px;color:#087565!important;font-weight:800;text-decoration:none;padding:2px 8px 2px 6px;border-radius:8px;background:rgba(12,155,136,.08);transition:background .18s}
.crumb-home:hover{background:rgba(12,155,136,.16);text-decoration:none!important}
.crumb-home svg{color:#0c9b88}
.perm-chip{display:inline-block;padding:3px 10px;border-radius:99px;font:800 .7rem "DM Sans",sans-serif;letter-spacing:.02em}
.perm-chip.perm-ok{background:#e5f6f0;color:#08715f;border:1px solid #c4eadf}
.perm-chip.perm-warn{background:#fff2dc;color:#9a630c;border:1px solid #f3ccaa}
.portal-signed-in{display:flex;flex-direction:column;align-items:flex-end;gap:6px}

/* ─── Portal dashboard (file-manager list of grants) ───────────────────── */
.portal-dashboard .file-table-head,
.portal-dashboard .file-row{
  grid-template-columns: minmax(280px,1.5fr) minmax(220px,1fr) minmax(140px,.4fr) 150px !important;
}
.portal-dashboard .file-table-head span:first-child{padding-left:16px!important}
.portal-dashboard .file-row .file-name-cell{padding-left:16px}
.portal-dashboard .perm-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}
.portal-dashboard .row-actions{justify-content:flex-start!important;padding:0 12px!important;gap:6px}
.portal-dashboard .file-row.busy{opacity:.55;pointer-events:none}
.portal-dashboard .inline-result{margin:16px 12px 0;padding:12px 14px;border-radius:10px;font-size:.88rem}
.portal-dashboard .inline-result.success{background:#eaf8f3;color:#08715f;border:1px solid #c4eadf}
.portal-dashboard .inline-result.error{background:#fff0f1;color:#9c2e40;border:1px solid #f2c5cc}
.btn-row{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:0;border-radius:11px;font:800 .82rem "DM Sans",sans-serif;text-decoration:none;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}
.btn-row svg{width:15px;height:15px;flex:0 0 15px}
.btn-row-open{background:linear-gradient(135deg,#0b8f80,#0caa94);color:#fff;box-shadow:0 8px 18px rgba(12,155,136,.22)}
.btn-row-open:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(12,155,136,.3)}
.btn-row-download{background:#fff3e0;color:#a05a13;border:1px solid #f3ccaa}
.btn-row-download:hover{background:#ffe5c0;transform:translateY(-1px)}
@media(max-width:850px){
  .portal-dashboard .file-table-head,
  .portal-dashboard .file-row{grid-template-columns: minmax(200px,1fr) 130px !important}
  .portal-dashboard .file-table-head span:nth-child(2),
  .portal-dashboard .file-table-head span:nth-child(3),
  .portal-dashboard .file-row span:nth-child(2),
  .portal-dashboard .file-row span:nth-child(3){display:none!important}
}

/* ─── Share bulk button + modal ────────────────────────────────────────── */
.bulk-button.bulk-share{background:#fff3e0;color:#a05a13;border:1px solid #f3ccaa}
.bulk-button.bulk-share:hover{background:#ffe5c0;transform:translateY(-1px)}
.bulk-button.bulk-share svg{width:16px;height:16px}

.share-modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,25,40,.55);backdrop-filter:blur(3px)}
.share-modal-overlay[hidden]{display:none!important}
.share-modal{position:relative;width:min(560px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:18px;padding:26px 26px 22px;box-shadow:0 30px 60px rgba(12,25,45,.35);animation:share-pop .18s ease-out}
@keyframes share-pop{from{transform:translateY(8px) scale(.98);opacity:.5}to{transform:none;opacity:1}}
.share-modal-close{position:absolute;top:12px;right:14px;width:32px;height:32px;border:0;border-radius:10px;background:transparent;color:#5b6a7e;font-size:1.6rem;line-height:1;cursor:pointer}
.share-modal-close:hover{background:#f0f4f7;color:#17233c}
.share-modal-header h2{margin:0;font-size:1.35rem;color:#17233c;letter-spacing:-.01em}
.share-modal-sub{margin:4px 0 0;color:#657386;font-size:.85rem}

.share-selected-list{list-style:none;padding:10px 12px;margin:16px 0 18px;background:#f6fbfa;border:1px solid #d9e9e5;border-radius:12px;max-height:150px;overflow-y:auto;font-size:.86rem}
.share-selected-list li{display:flex;align-items:center;gap:8px;padding:4px 0;color:#17233c}
.share-selected-list li:not(:last-child){border-bottom:1px dashed #d9e9e5}
.share-selected-list .share-item-kind{font-size:.7rem;font-weight:800;letter-spacing:.05em;color:#087565;background:#dcf1eb;padding:2px 6px;border-radius:6px;text-transform:uppercase}
.share-selected-list .share-item-name{flex:1;overflow-wrap:anywhere;font-weight:600}

.share-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;padding:4px;background:#f0f4f7;border-radius:12px}
.share-tab{border:0;background:transparent;padding:9px 12px;border-radius:9px;cursor:pointer;text-align:left;transition:background .18s,box-shadow .18s;font:600 .84rem "DM Sans",sans-serif;color:#5b6a7e}
.share-tab:hover{color:#17233c}
.share-tab.is-active{background:#fff;color:#087565;box-shadow:0 4px 12px rgba(12,25,45,.08)}
.share-tab .tab-title{display:block;font-weight:800;font-size:.9rem}
.share-tab .tab-sub{display:block;font-size:.7rem;color:#7d8998;margin-top:2px;font-weight:500}
.share-tab.is-active .tab-sub{color:#087565}

.share-form{display:grid;gap:14px}
.share-form[hidden]{display:none!important}
.share-form label{display:flex;flex-direction:column;gap:6px;font-size:.76rem;font-weight:800;color:#374357;text-transform:uppercase;letter-spacing:.04em}
.share-form input[type=text],
.share-form input[type=email],
.share-form input[type=number],
.share-form select{width:100%;border:1px solid #ccd6df;border-radius:11px;padding:11px 13px;font:400 .95rem "DM Sans",sans-serif;color:#17233c;background:#fff;transition:border-color .18s,box-shadow .18s}
.share-form input:focus,
.share-form select:focus{border-color:#0c9b88;box-shadow:0 0 0 3px rgba(12,155,136,.14);outline:none}
.share-hint{margin:0;color:#7d8998;font-size:.78rem;line-height:1.5}
.share-submit-row{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}

.share-perms{border:1px solid #dbe6ee;border-radius:12px;padding:12px 14px;margin:0;background:#fafcfd}
.share-perms legend{padding:0 6px;font-size:.72rem;font-weight:800;letter-spacing:.06em;color:#374357;text-transform:uppercase}
.share-perms .perms-hint{font-weight:500;color:#7d8998;text-transform:none;letter-spacing:0;margin-left:4px}
.perm-check{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;margin:8px 0;font:600 .88rem "DM Sans",sans-serif!important;color:#17233c!important;text-transform:none!important;letter-spacing:0!important}
.perm-check input{width:16px;height:16px;accent-color:#0c9b88;margin:0;flex:0 0 16px}
.perm-check small{color:#7d8998;font-weight:500}

.share-empty-users{text-align:center;padding:22px 6px}
.share-empty-users strong{display:block;color:#17233c;font-size:1rem}
.share-empty-users p{color:#7d8998;font-size:.85rem;margin:6px 0 12px}

.share-result{margin-top:14px;padding:12px 14px;border-radius:10px;font-size:.88rem}
.share-result.success{background:#eaf8f3;color:#08715f;border:1px solid #c4eadf}
.share-result.error{background:#fff0f1;color:#9c2e40;border:1px solid #f2c5cc}
.share-result[hidden]{display:none!important}

@media(max-width:520px){
  .share-modal{padding:22px 18px 18px;border-radius:14px}
  .share-tabs{grid-template-columns:1fr}
}

/* ─── Site footer (FTP server info) ─────────────────────────────────────── */
.site-footer{
  display:flex;justify-content:center;align-items:center;
  padding:18px 22px 24px;
  color:#657386;font-size:.82rem
}
.site-footer-chip{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 16px;
  background:rgba(255,255,255,.72);
  border:1px solid #dbe6ee;
  border-radius:99px;
  box-shadow:0 4px 14px rgba(22,35,52,.05);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  font-weight:600
}
.site-footer-icon{width:16px;height:16px;color:#0c9b88;flex:0 0 16px}
.site-footer-label{color:#7d8998;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}
.site-footer strong{color:#17233c;font-weight:800;letter-spacing:-.01em}
.site-footer-meta{color:#98a4b2;font-size:.76rem;margin-left:6px;padding-left:10px;border-left:1px solid #dbe6ee}
@media(max-width:520px){
  .site-footer{padding:14px 12px 20px}
  .site-footer-chip{gap:6px;padding:6px 12px;font-size:.76rem}
  .site-footer-meta{display:none}
}

/* ─── Frosted glass header — universal overrides ─────────────────────────
   Applies to every page (admin dashboard, portal, history, shares, users).
   Uses !important to win over the older scattered dark-header rules earlier
   in this file. */
.site-header{
  position:sticky!important;top:0!important;z-index:80!important;
  height:52px!important;
  margin:0!important;
  max-width:none!important;
  padding:0 22px!important;
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border:0!important;
  border-bottom:1px solid #cfe0dc!important;
  border-radius:0!important;
  color:#17233c!important;
  box-shadow:0 6px 20px rgba(22,35,52,.06)!important;
  overflow:visible!important
}
.site-header .brand,
.site-header .link-button{color:#17233c!important}
.site-header .kryon-brand-logo{height:32px!important;filter:none!important}

.site-header nav{gap:14px!important;height:52px}
.site-header nav>a{
  display:inline-flex!important;
  align-items:center!important;
  height:52px!important;
  min-height:0!important;
  padding:0 4px!important;
  margin:0 6px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#657386!important;
  font:700 .86rem "DM Sans",sans-serif!important;
  letter-spacing:0!important;
  box-shadow:none!important;
  border-bottom:2px solid transparent!important;
  transform:none!important;
  transition:color .18s,border-color .18s
}
.site-header nav>a:hover{
  color:#17233c!important;
  background:transparent!important;
  border-color:rgba(12,155,136,.35)!important;
  transform:none!important
}
.site-header nav>a.is-active{
  color:#17233c!important;
  border-bottom-color:#0c9b88!important
}

.site-header .user-chip{
  background:#e7f3f0!important;
  color:#236b61!important;
  border:1px solid transparent!important;
  padding:5px 12px!important;
  font:700 .78rem "DM Sans",sans-serif!important
}
.site-header .user-chip .server-icon{color:#236b61!important}

.site-header .disconnect-button{
  border:1px solid #e05b6f!important;
  color:#e05b6f!important;
  background:#fff!important;
  padding:6px 12px!important;
  border-radius:8px!important;
  font:800 .82rem "DM Sans",sans-serif!important
}
.site-header .disconnect-button:hover{
  background:#e05b6f!important;color:#fff!important;border-color:#e05b6f!important;transform:translateY(-1px)
}

@media(max-width:850px){
  .site-header{padding:0 14px!important}
  .site-header nav>a{margin:0 3px!important;padding:0 2px!important;font-size:.78rem!important}
}
