:root{color:#17191f;background:#f4f6fa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--accent: #2447b8;--accent-hover: #1c3996;--accent-soft: #eef2ff;--ink: #17191f;--muted: #6c7280;--line: #e4e7ee;--soft: #f7f8fb;--success: #18865b;--success-soft: #f0faf5;--danger: #c43d49;--shadow: 0 18px 55px rgba(31, 41, 79, .08)}*{box-sizing:border-box}html{min-width:320px;background:#f4f6fa}body{margin:0;min-width:320px;min-height:100dvh}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid rgba(36,71,184,.22);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.45}.login-shell{display:grid;min-height:100dvh;padding:28px;place-items:center;background:linear-gradient(90deg,#070d1bed,#070d1bb8),url(/assets/workspace-background.png) center / cover no-repeat,#08101f}.login-card{width:min(100%,470px);padding:32px 36px 30px;border:1px solid rgba(187,204,236,.16);border-radius:16px;background:#101b30e6;box-shadow:0 30px 90px #00071473;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.workspace-brand{display:flex;align-items:center;gap:12px;color:#f0f5ff}.workspace-brand>span:last-child{display:grid;gap:2px}.workspace-brand strong{font-size:17px;font-weight:740;letter-spacing:.04em}.workspace-brand small{color:#8f9db5;font-size:11px;font-weight:550;letter-spacing:.04em}.workspace-brand-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(126,160,222,.34);border-radius:12px;background:#2f5db72e;color:#8db3ff;box-shadow:inset 0 1px #ffffff14}.workspace-brand.is-compact{gap:9px}.workspace-brand.is-compact .workspace-brand-mark{width:35px;height:35px;border-radius:10px}.workspace-brand.is-compact strong{font-size:14px}.login-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border:1px solid rgba(111,149,219,.28);border-radius:12px;background:#3967bf24;color:#91b4f9}.login-heading{display:flex;align-items:flex-start;gap:16px;margin:39px 0 27px}.login-card h1{margin:0;color:#f0f4fb;font-size:25px;font-weight:730;letter-spacing:-.03em}.login-intro{margin:7px 0 0;color:#9aa7ba;font-size:12px;line-height:1.6}.login-card form{display:grid}.login-card form label{margin-bottom:8px;color:#b1bbcb;font-size:12px;font-weight:650}.access-settings-form label{margin-bottom:8px;color:#4e5561;font-size:12px;font-weight:650}.login-card form input{width:100%;height:48px;padding:0 14px;border:1px solid rgba(159,178,209,.26);border-radius:9px;background:#070e1b7a;color:#f4f7fc;font-size:14px}.login-card form input::placeholder{color:#77849a}.login-card form input:focus-visible{border-color:#739bec;outline-color:#6b97eb57}.login-button{width:100%;margin-top:15px}.login-error{margin:9px 0 0;color:var(--danger);font-size:12px;line-height:1.5}.login-message{margin:-10px 0 19px;padding:10px 12px;border:1px solid rgba(76,195,143,.26);border-radius:8px;background:#21915f1f;color:#8bd5b3;font-size:12px;line-height:1.5}.login-security-note{display:flex;align-items:flex-start;gap:8px;margin-top:20px;color:#7f8ca0;font-size:11px;line-height:1.6}.login-security-note svg{flex:0 0 auto;margin-top:1px;color:var(--success)}.login-loading{display:flex;align-items:center;gap:13px;padding:17px 19px;border:1px solid rgba(187,204,236,.14);border-radius:13px;background:#101b30d1;color:#aeb9ca;font-size:13px;box-shadow:0 24px 70px #00071459}.login-loading .workspace-brand{margin-right:8px}.portal-shell{position:relative;min-height:100dvh;overflow:hidden;background:linear-gradient(90deg,#060c18f0,#060c18ad),url(/assets/workspace-background.png) center / cover fixed no-repeat,#08101f;color:#eef3fb}.portal-shell:after{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 18%);content:""}.portal-topbar{position:relative;z-index:1;display:flex;width:min(100% - 64px,1280px);height:72px;align-items:center;justify-content:space-between;margin:0 auto;border-bottom:1px solid rgba(174,194,227,.12)}.portal-topbar-actions{display:flex;align-items:center;gap:16px}.portal-security{display:flex;align-items:center;gap:7px;color:#8fa0b7;font-size:12px}.portal-security svg{color:#62c49a}.portal-logout{display:flex;height:36px;align-items:center;gap:7px;padding:0 12px;border:1px solid rgba(178,197,229,.18);border-radius:9px;background:#1421388a;color:#b8c4d5;font-size:12px;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.portal-logout:hover{border-color:#b2c5e557;background:#1e2f4eb8;color:#eef3fb}.portal-logout:active{transform:translateY(1px)}.portal-main{position:relative;z-index:1;display:flex;width:min(100% - 64px,1180px);min-height:calc(100dvh - 72px);flex-direction:column;margin:0 auto;padding:clamp(72px,10vh,118px) 0 30px}.portal-intro{max-width:720px}.portal-kicker{margin:0 0 16px;color:#7698da;font-size:11px;font-weight:720;letter-spacing:.18em}.portal-intro h1{max-width:680px;margin:0;color:#f0f4fb;font-size:clamp(38px,5vw,62px);font-weight:680;letter-spacing:-.05em;line-height:1.12}.portal-intro>p:last-child{max-width:540px;margin:21px 0 0;color:#96a4b8;font-size:15px;line-height:1.75}.tool-section{width:min(100%,920px);margin-top:clamp(54px,8vh,86px)}.tool-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tool-section-heading h2{margin:0;color:#dfe7f3;font-size:16px;font-weight:650}.tool-section-heading>span{color:#728095;font-size:12px}.tool-card{width:100%;min-height:182px;padding:28px;border:1px solid rgba(170,193,230,.18);border-radius:16px;background:linear-gradient(112deg,#1d3051e0,#0e192dd6),#121e34db;color:inherit;text-align:left;box-shadow:inset 0 1px #ffffff0b,0 24px 55px #00081738;cursor:pointer;transition:border-color .19s ease,background .19s ease,transform .19s ease,box-shadow .19s ease}.tool-list{display:grid;gap:16px}.tool-card-primary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px}.tool-card-print .tool-icon{border-color:#f0ae5652;background:#b2692333;color:#f4bd72}.tool-card-print .tool-card-action{border-color:#e3a75b47;background:#9d5b1f2e;color:#f1c58c}.tool-card:hover{border-color:#769ce175;background:linear-gradient(112deg,#233a62f0,#101d34e6),#121e34e6;box-shadow:inset 0 1px #ffffff0f,0 28px 65px #0008174d;transform:translateY(-2px)}.tool-card:active{transform:translateY(0)}.tool-card:focus-visible{outline-color:#7da6f4ad}.tool-icon{display:grid;width:68px;height:68px;place-items:center;border:1px solid rgba(123,164,238,.32);border-radius:15px;background:#3465c538;color:#9bbcff;box-shadow:inset 0 1px #ffffff14}.tool-card-copy{display:grid;min-width:0;gap:11px}.tool-card-title{display:flex;align-items:center;gap:13px}.tool-card-title strong{color:#f1f5fb;font-size:22px;font-weight:680;letter-spacing:-.02em}.service-status{display:inline-flex;align-items:center;gap:7px;color:#7ed2ad;font-size:11px;font-weight:620}.service-status>span{width:7px;height:7px;border-radius:50%;background:#55c493;box-shadow:0 0 0 4px #55c4931a}.tool-card-description{color:#a5b2c5;font-size:14px;line-height:1.6}.tool-capabilities{display:flex;flex-wrap:wrap;gap:7px 17px;color:#718098;font-size:11px}.tool-capabilities span{position:relative}.tool-capabilities span:not(:last-child):after{position:absolute;top:50%;right:-9px;width:2px;height:2px;border-radius:50%;background:#53637b;content:""}.tool-card-action{display:flex;height:42px;align-items:center;gap:9px;padding:0 16px;border:1px solid rgba(129,166,233,.3);border-radius:10px;background:#305baf38;color:#b9cefa;font-size:13px;font-weight:650;white-space:nowrap}.portal-footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:64px;color:#5e6c81;font-size:11px}@supports not ((backdrop-filter: blur(1px))){.login-card{background:#101b30}}.app-shell{display:grid;grid-template-columns:220px minmax(560px,1fr) 360px;min-height:100vh;max-width:1560px;margin:0 auto;background:#fff;box-shadow:var(--shadow)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;align-self:start;height:100vh;padding:34px 20px 24px;border-right:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:11px;padding:0 9px;color:#11131a;font-size:21px;font-weight:740;letter-spacing:-.02em}.brand-mark{display:grid;width:38px;height:42px;place-items:center;color:var(--accent)}.side-nav{display:grid;gap:8px;margin-top:64px}.side-nav button{display:flex;align-items:center;gap:13px;width:100%;padding:14px 16px;border:0;border-radius:9px;background:transparent;color:#3c414c;font-size:15px;font-weight:630;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.side-nav button:hover{background:var(--soft)}.side-nav button.active{background:var(--accent);color:#fff;box-shadow:0 8px 18px #2447b82e}.side-nav button.back-to-portal{color:#596270}.side-nav button.back-to-portal:hover{background:#f1f4fa;color:var(--accent)}.side-nav-divider{height:1px;margin:5px 12px 7px;background:var(--line)}.side-nav button:active{transform:translateY(1px)}.local-note{display:flex;align-items:center;gap:8px;margin-top:auto;padding:0 8px;color:#7a808c;font-size:12px;line-height:1.5}.main-content{min-width:0;padding:46px 48px 42px;outline:none}.page-heading h1{margin:0;color:#11131a;font-size:clamp(30px,3vw,39px);font-weight:760;letter-spacing:-.035em;line-height:1.18}.page-heading p{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.6}.upload-zone{display:grid;min-height:330px;margin-top:30px;padding:34px;place-items:center;border:1.5px dashed #7590df;border-radius:12px;background:#fff;transition:border-color .18s ease,background .18s ease,transform .18s ease}.upload-zone.is-dragging{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.004)}.upload-zone.has-file{min-height:176px;border-style:solid;border-color:var(--line);background:#fbfcff}.batch-upload-zone{min-height:238px}.batch-upload-zone.has-batch{min-height:180px;border-style:solid;border-color:#cad4f3;background:#fbfcff}.empty-upload{display:grid;place-items:center;text-align:center}.upload-icon{display:grid;width:64px;height:64px;margin-bottom:18px;place-items:center;border-radius:17px;background:var(--accent-soft);color:var(--accent)}.empty-upload strong{color:#191c24;font-size:19px;font-weight:700}.empty-upload p{margin:10px 0 23px;color:var(--muted);font-size:13px}.primary-button,.download-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #2447b82b;transition:background .15s ease,transform .15s ease,box-shadow .15s ease}.primary-button:hover:not(:disabled),.download-button:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 10px 22px #2447b83b;transform:translateY(-1px)}.primary-button:active:not(:disabled),.download-button:active:not(:disabled){transform:translateY(0)}.secondary-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid #d7dce6;border-radius:8px;background:#fff;color:#4e5561;font-size:13px;font-weight:680;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.secondary-button:hover:not(:disabled){border-color:#bfc7d5;background:#f8f9fb;color:var(--accent)}.selected-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;width:100%;align-items:center;gap:15px}.file-icon,.result-file-icon{display:grid;flex:0 0 auto;place-items:center;border:1px solid #dce2f4;border-radius:10px;background:#fff;color:var(--accent)}.file-icon{width:58px;height:68px}.selected-file-copy{display:grid;min-width:0;gap:5px}.selected-file-copy strong{overflow:hidden;color:#1a1d25;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.selected-file-copy span{color:var(--muted);font-size:12px}.icon-button{display:inline-grid;width:32px;height:32px;flex:0 0 auto;padding:0;place-items:center;border:1px solid var(--line);border-radius:7px;background:#fff;color:#555c69;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.icon-button:hover:not(:disabled){border-color:#cbd1dc;background:#f8f9fb;color:var(--accent)}.icon-button.quiet{border-color:transparent;background:transparent}.protect-button{min-width:124px}.rules-section{margin-top:26px}.rules-section h2{margin:0 0 10px;font-size:16px;font-weight:720}.rules-list{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}.rule-row{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:9px;min-height:48px;padding:0 18px;color:#333841;font-size:13px}.rule-row+.rule-row{border-top:1px solid var(--line)}.rule-row>svg:first-child{color:var(--accent)}.rule-check{color:var(--success)}.compatibility-note{margin:8px 2px 0;color:#8a909b;font-size:11px}.batch-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px}.batch-actions>div:first-child{display:grid;gap:4px}.batch-actions strong{color:#23262e;font-size:15px;font-weight:720}.batch-actions span{color:var(--muted);font-size:12px}.batch-action-buttons{display:flex;gap:9px}.batch-table-shell{overflow-x:auto;margin-top:13px;border:1px solid var(--line);border-radius:10px;background:#fff}.batch-table{width:100%;min-width:780px;border-collapse:collapse;color:#363b45;font-size:12px}.batch-table th,.batch-table td{padding:13px 12px;border-bottom:1px solid #eceff4;text-align:left;vertical-align:middle}.batch-table th{background:#f8f9fb;color:#69707c;font-size:11px;font-weight:710;white-space:nowrap}.batch-table tr:last-child td{border-bottom:0}.batch-table tbody tr:hover{background:#fbfcff}.sequence-cell{width:54px;color:#8a909b;text-align:center!important}.batch-name-cell{min-width:190px}.batch-name-cell strong,.batch-name-cell span{display:block;overflow:hidden;max-width:250px;text-overflow:ellipsis;white-space:nowrap}.batch-name-cell strong{color:#262a32;font-size:12px;font-weight:690}.batch-name-cell span{margin-top:5px;color:#7b828e;font-size:10px}.reason-cell{min-width:170px;line-height:1.45}.batch-status{display:inline-flex;align-items:center;gap:5px;min-width:78px;padding:5px 8px;border-radius:6px;background:#f1f3f6;color:#6c7280;font-size:11px;font-weight:690;white-space:nowrap}.batch-status.processing{background:var(--accent-soft);color:var(--accent)}.batch-status.success{background:var(--success-soft);color:var(--success)}.batch-status.failed{background:#fff1f2;color:var(--danger)}.table-download-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid #cfd6e7;border-radius:7px;background:#fff;color:var(--accent);font-size:11px;font-weight:690;cursor:pointer}.table-download-button:hover:not(:disabled){border-color:#aab9df;background:var(--accent-soft)}.result-placeholder{display:flex;min-height:66px;align-items:center;gap:10px;margin-top:22px;padding:0 18px;border:1px solid #edf0f4;border-radius:10px;background:#fafbfc;color:#8a909b;font-size:12px}.result-card{display:grid;grid-template-columns:minmax(170px,1fr) minmax(190px,.9fr) auto;align-items:center;gap:24px;margin-top:22px;padding:18px 20px;border:1px solid #8bc7ab;border-radius:10px;background:var(--success-soft);animation:rise-in .24s ease both}.result-file{display:flex;min-width:0;align-items:center;gap:12px}.result-file-icon{width:46px;height:54px}.result-file>div{display:grid;min-width:0;gap:6px}.result-file strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.result-file span{display:flex;align-items:center;gap:5px;color:var(--success);font-size:12px;font-weight:650}.result-password{display:grid;gap:6px}.compression-result-card{grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr) auto}.compression-metadata{display:grid;grid-template-columns:auto auto;gap:7px 18px;margin:0}.compression-metadata>div{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:baseline;gap:7px}.compression-metadata>div:last-child{grid-column:1 / -1}.compression-metadata dt{color:#687069;font-size:10px}.compression-metadata dd{margin:0;color:#2d333b;font-size:11px;font-weight:650;line-height:1.45}.result-password label{color:#687069;font-size:11px}.rename-result-card{grid-template-columns:minmax(210px,1.25fr) minmax(170px,.75fr) auto}.rename-metadata{display:grid;gap:8px;margin:0}.rename-metadata>div{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:baseline;gap:8px}.rename-metadata dt{color:#687069;font-size:11px}.rename-metadata dd{overflow:hidden;margin:0;color:#23272f;font-size:12px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.password-result-value{display:flex;min-width:0;align-items:center;gap:4px}.password-result-value code{overflow:hidden;min-width:0;color:#23272f;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.download-button{min-height:42px;white-space:nowrap}.password-panel{min-width:0;padding:44px 26px 28px;border-left:1px solid var(--line);background:#fbfcfe;outline:none}.password-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.password-panel-heading h2{margin:0;font-size:21px;font-weight:740;letter-spacing:-.02em}.password-panel-heading p{margin:8px 0 0;color:var(--muted);font-size:13px}.password-panel-heading>svg{color:var(--accent)}.password-panel-actions{display:flex;align-items:center;gap:7px;color:var(--accent)}.password-panel-actions .icon-button{color:#68717d}.password-list{display:grid;gap:9px;margin-top:27px}.password-row{display:grid;grid-template-columns:auto minmax(0,1fr) repeat(3,auto);min-height:58px;align-items:center;gap:3px;padding:0 8px 0 14px;border:1px solid var(--line);border-radius:9px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.password-row:hover{border-color:#cfd5e1;box-shadow:0 7px 18px #1e29460e}.password-lock{margin-right:6px;color:#636b77}.password-row code{overflow:hidden;min-width:0;color:#242831;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:640;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.delete-button:hover:not(:disabled){color:var(--danger)}.password-loading{display:flex;min-height:110px;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:13px}.add-password-form{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}.add-password-form>label{display:block;margin-bottom:9px;color:#4e5561;font-size:12px;font-weight:650}.add-password-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.add-password-controls input{width:100%;min-width:0;height:44px;padding:0 12px;border:1px solid #d9dde5;border-radius:8px;background:#fff;color:var(--ink);font-size:13px}.add-password-controls input::placeholder{color:#9a9faa}.add-button{min-width:86px;padding:0 14px}.form-error{margin:8px 0 0;color:var(--danger);font-size:11px;line-height:1.5}.password-footnote{display:flex;align-items:flex-start;gap:8px;margin-top:18px;color:#7f8590;font-size:11px;line-height:1.65}.password-footnote svg{flex:0 0 auto;margin-top:1px}.access-settings{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.access-settings-toggle{display:grid;grid-template-columns:auto 1fr auto;width:100%;align-items:center;gap:9px;padding:0;border:0;background:transparent;color:#4b5360;font-size:12px;font-weight:690;text-align:left;cursor:pointer}.access-settings-toggle svg{color:var(--accent)}.access-settings-toggle span:last-child{color:#878d98;font-size:18px;font-weight:450}.access-settings-form{display:grid;margin-top:17px;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fff}.access-settings-form p{margin:0 0 15px;color:var(--muted);font-size:11px;line-height:1.55}.access-settings-form label:not(:first-of-type){margin-top:12px}.access-settings-form input{width:100%;height:42px;padding:0 12px;border:1px solid #d9dde5;border-radius:8px;background:#fff;color:var(--ink);font-size:12px}.access-settings-form input::placeholder{color:#9a9faa}.access-save-button{width:100%;margin-top:15px;padding-inline:12px}.notice{position:fixed;right:24px;bottom:24px;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:min(390px,calc(100vw - 32px));align-items:center;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#373c46;font-size:13px;box-shadow:0 16px 38px #1a223d2b;animation:rise-in .22s ease both}.notice.success>svg{color:var(--success)}.notice.error>svg{color:var(--danger)}.notice button{display:grid;width:27px;height:27px;padding:0;place-items:center;border:0;border-radius:6px;background:transparent;color:#7a808a;cursor:pointer}.notice button:hover{background:var(--soft)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1180px){.app-shell{grid-template-columns:190px minmax(500px,1fr) 320px}.main-content{padding-inline:34px}.result-card,.compression-result-card{grid-template-columns:minmax(170px,1fr) auto}.result-password,.compression-metadata,.rename-metadata{grid-column:1}.download-button{grid-column:2;grid-row:1 / span 2}}@media(max-width:960px){.portal-main{padding-top:68px}.portal-intro h1{font-size:clamp(38px,7vw,54px)}.app-shell{display:block;max-width:none}.sidebar{position:sticky;z-index:10;display:grid;grid-template-columns:auto 1fr;height:auto;padding:14px 22px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0;font-size:18px}.brand-mark{width:31px;height:34px}.side-nav{display:flex;justify-content:flex-end;margin:0}.side-nav-divider{width:1px;height:24px;align-self:center;margin:0 4px}.side-nav button{width:auto;padding:10px 13px;font-size:13px}.local-note{display:none}.main-content{padding:35px 28px 38px}.password-panel{padding:38px 28px 48px;border-top:1px solid var(--line);border-left:0}.password-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.login-shell{padding:16px}.login-card{padding:28px 20px 24px;border-radius:13px}.login-heading{gap:13px;margin-top:32px}.login-icon{width:44px;height:44px}.portal-topbar{width:calc(100% - 32px)}.portal-security{display:none}.portal-main{width:calc(100% - 32px);padding-top:54px}.portal-intro h1{font-size:38px}.portal-intro>p:last-child{font-size:14px}.tool-section{margin-top:48px}.tool-card{padding:22px}.tool-card-primary{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:17px}.tool-icon{width:54px;height:54px;border-radius:13px}.tool-card-title{align-items:flex-start;flex-direction:column;gap:7px}.tool-card-title strong{font-size:19px}.tool-card-action{grid-column:1 / -1;justify-content:center;margin-top:3px}.tool-capabilities{gap:6px}.tool-capabilities span{padding:3px 7px;border-radius:5px;background:#6584bb1a}.tool-capabilities span:not(:last-child):after{display:none}.portal-footer{align-items:flex-start;gap:7px;flex-direction:column}.sidebar{grid-template-columns:1fr;gap:11px;padding:12px 16px 10px}.brand{justify-content:center}.side-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.side-nav-divider{display:none}.side-nav button{flex-direction:column;gap:5px;justify-content:center;padding-inline:4px;font-size:11px;white-space:nowrap}.side-nav button.back-to-portal{color:var(--accent)}.main-content{padding:28px 16px 32px}.page-heading h1{font-size:30px}.upload-zone{min-height:286px;margin-top:24px;padding:22px 16px}.upload-zone.has-file{min-height:0}.batch-upload-zone,.batch-upload-zone.has-batch{min-height:220px}.batch-actions{align-items:stretch;flex-direction:column}.batch-action-buttons{display:grid;grid-template-columns:1fr 1fr}.batch-action-buttons button{width:100%;padding-inline:10px}.selected-file{grid-template-columns:auto minmax(0,1fr) auto}.selected-file .protect-button{grid-column:1 / -1;width:100%;margin-top:8px}.result-card{grid-template-columns:1fr;gap:17px}.result-password,.compression-metadata,.rename-metadata,.download-button{grid-column:auto;grid-row:auto}.download-button{width:100%}.password-panel{padding:32px 16px 42px}.password-list{grid-template-columns:1fr}.password-row{min-height:56px}.add-password-controls{grid-template-columns:1fr}.add-button{width:100%}.notice{right:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
