:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#17243e;background:#f3f7fd;font-synthesis:none;--primary: #2777ed;--primary-dark: #185cc4;--line: #e2eaf5;--muted: #71809a;--soft-blue: #eef5ff;--shadow: 0 12px 34px rgba(41, 77, 130, .08)}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{min-width:320px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:244px;padding:0 16px 18px;color:#dbe9ff;background:linear-gradient(180deg,#153f80,#102f65 72%,#0d2858);display:flex;flex-direction:column;box-shadow:10px 0 35px #0e30621f}.brand{height:82px;display:flex;align-items:center;gap:12px;padding:0 8px;border-bottom:1px solid rgba(255,255,255,.1)}.brand-mark,.login-brand span,.login-mobile-brand span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#4c9aff,#79b7ff);box-shadow:0 8px 18px #1c6fe340}.brand strong{display:block;color:#fff;font-size:17px;letter-spacing:1px}.brand span{display:block;margin-top:3px;color:#91add7;font-size:11px}.nav-title{margin:25px 12px 10px;color:#7fa1d0;font-size:11px;font-weight:700;letter-spacing:1.5px}.sidebar-nav{display:grid;gap:6px}.sidebar-nav a{height:46px;padding:0 14px;border-radius:11px;display:flex;align-items:center;gap:12px;color:#b5c9e9;font-size:14px;font-weight:600;transition:.2s ease}.sidebar-nav a:hover{color:#fff;background:#ffffff12}.sidebar-nav a.active{color:#fff;background:linear-gradient(90deg,#287cf2,#3b88f4);box-shadow:0 8px 20px #0052c24d}.sidebar-foot{margin-top:auto}.sidebar-help{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0d}.sidebar-help strong,.sidebar-help span{display:block}.sidebar-help strong{color:#f1f6ff;font-size:12px}.sidebar-help span{margin-top:4px;color:#829fc9;font-size:10px;line-height:1.5}.sidebar-close,.mobile-menu,.sidebar-mask{display:none}.admin-main{min-height:100vh;margin-left:244px}.topbar{position:sticky;top:0;z-index:20;height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-title strong,.topbar-title span{display:block}.topbar-title strong{font-size:16px}.topbar-title span{margin-top:4px;color:#96a1b3;font-size:11px}.account{display:flex;align-items:center;gap:10px}.account-password{min-height:34px;padding:0 12px;white-space:nowrap}.avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#3d8ff5,#6eacf7);font-weight:700}.account-name strong,.account-name span{display:block}.account-name strong{font-size:13px}.account-name span{margin-top:3px;color:var(--muted);font-size:10px}.icon-button{width:36px;height:36px;padding:0;display:grid;place-items:center;border:0;border-radius:9px;color:#687791;background:transparent}.icon-button:hover{color:var(--primary);background:var(--soft-blue)}.page-container{max-width:1500px;margin:0 auto;padding:28px 32px 50px}.page-stack{display:grid;gap:22px}.welcome-banner{position:relative;overflow:hidden;padding:31px 36px;border-radius:18px;color:#fff;background:linear-gradient(112deg,#1f72e8,#4b96f2);box-shadow:0 18px 40px #1d69d52e}.welcome-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start}.welcome-banner h1{margin:6px 0 8px;font-size:27px}.welcome-banner p{max-width:600px;margin:0;color:#dcebff;font-size:13px;line-height:1.7}.eyebrow{color:#b8d8ff;font-size:10px;font-weight:800;letter-spacing:2px}.white-button{height:38px;margin-top:16px;padding:0 16px;display:inline-flex;align-items:center;gap:7px;border-radius:10px;color:#1b68d5;background:#fff;font-size:12px;font-weight:700;box-shadow:0 6px 18px #00409c29}.banner-book{position:absolute;right:44px;top:38px;width:104px;height:104px;display:grid;place-items:center;color:#fffc;border:1px solid rgba(255,255,255,.25);border-radius:32px;background:#ffffff1f;transform:rotate(7deg)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{display:flex;gap:15px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 7px 22px #294d820d}.stat-icon{width:45px;height:45px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px}.stat-card.blue .stat-icon{color:#2173e9;background:#eaf3ff}.stat-card.green .stat-icon{color:#19a676;background:#e7f8f2}.stat-card.orange .stat-icon{color:#dc8420;background:#fff3e1}.stat-card.gray .stat-icon{color:#77839a;background:#eff2f6}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{color:var(--muted);font-size:11px}.stat-card strong{margin:3px 0 1px;font-size:25px}.stat-card small{color:#a1aabd;font-size:9px}.panel{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.panel-header{padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f7}.panel-header h2,.panel-header p{margin:0}.panel-header h2{font-size:16px}.panel-header p{margin-top:5px;color:var(--muted);font-size:11px}.text-link{display:flex;align-items:center;gap:5px;color:var(--primary);font-size:12px;font-weight:600}.recent-list{padding:4px 24px}.recent-item{min-height:74px;display:grid;grid-template-columns:44px minmax(220px,1fr) 70px 80px 105px;gap:13px;align-items:center;border-bottom:1px solid #edf1f7}.recent-item:last-child{border:0}.ranking-item{grid-template-columns:25px 44px minmax(190px,1fr) 80px}.ranking-rank{width:24px;height:24px;display:grid;place-items:center;border-radius:7px;color:#77869c;background:#eef2f6;font-size:10px;font-weight:800}.ranking-rank.top{color:#c87712;background:#fff0cc}.file-tile{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:#2574e6;background:#eaf3ff;font-size:9px;font-weight:800;text-transform:uppercase}.recent-info strong,.recent-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-info strong{font-size:12px}.recent-info span{margin-top:5px;color:var(--muted);font-size:10px}.recent-info .ranking-download-count{display:flex;align-items:center;gap:4px;margin-top:6px;color:#2475e8;font-size:10px;font-weight:700}.download-stat{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.recent-item time{color:#8793a7;font-size:10px}.page-heading{min-height:60px;display:flex;align-items:center;justify-content:space-between}.page-heading h1,.page-heading p{margin:0}.page-heading h1{font-size:23px}.page-heading p{margin-top:6px;color:var(--muted);font-size:12px}.primary-button,.secondary-button,.danger-button{min-height:40px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;font-size:12px;font-weight:700;transition:.18s ease}.primary-button{border:1px solid var(--primary);color:#fff;background:linear-gradient(145deg,#3487f3,#2372df);box-shadow:0 7px 16px #2677e833}.primary-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2677e842}.primary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.secondary-button{border:1px solid #dbe3ef;color:#52617a;background:#fff}.secondary-button:hover{border-color:#bfcce0;background:#f8faff}.danger-button{border:1px solid #e5484d;color:#fff;background:#e5484d}.resource-panel{overflow:hidden}.toolbar{padding:16px 20px;display:flex;gap:14px;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f7;background:#fbfcfe}.resource-filters{display:flex;flex:1;gap:10px;align-items:center}.resource-filters .search-box{width:min(280px,100%)}.subject-filter{flex-shrink:0}.search-box{width:min(420px,100%);height:39px;padding:0 12px;display:flex;gap:9px;align-items:center;border:1px solid #dce5f1;border-radius:10px;color:#8b98aa;background:#fff}.search-box:focus-within{border-color:#7db1f5;box-shadow:0 0 0 3px #3184ef1a}.search-box input{width:100%;border:0;outline:0;color:#22304a;background:transparent;font-size:12px}.select-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}select,.field-label input,.field-label textarea{border:1px solid #dbe4f0;outline:none;color:#273651;background:#fff}select{height:39px;padding:0 32px 0 11px;border-radius:9px;font-size:12px}select:focus,.field-label input:focus,.field-label textarea:focus{border-color:#77aef3;box-shadow:0 0 0 3px #2d7feb1a}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{height:44px;padding:0 15px;text-align:left;color:#71809a;background:#f7f9fc;border-bottom:1px solid #e7edf5;font-size:10px;font-weight:700;white-space:nowrap}td{min-height:68px;padding:13px 15px;border-bottom:1px solid #edf1f7;color:#4a5870;font-size:11px}tbody tr:hover{background:#fbfdff}.action-column{width:125px}.resource-name{min-width:290px;max-width:450px;display:flex;gap:11px;align-items:center}.resource-name>div:last-child{min-width:0}.resource-name strong{max-width:380px;display:flex;align-items:center;gap:5px;overflow:hidden;color:#1c2a43;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.resource-name span{max-width:360px;margin-top:5px;display:block;overflow:hidden;color:#8995a8;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.featured-star{flex:0 0 auto;color:#f2a819}.stage-tag{margin-right:7px;padding:3px 7px;border-radius:6px;color:#2b78df;background:#eaf3ff;font-size:9px}.subject-text{color:#46546c}.status-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:99px;font-size:9px;font-weight:700;white-space:nowrap}.status-badge.published{color:#16855f;background:#e4f7f0}.status-badge.draft{color:#c27217;background:#fff2dc}.status-badge.archived{color:#6d788b;background:#edf0f4}.table-time{color:#738097;white-space:nowrap}.table-actions{display:flex;gap:3px}.table-actions button{width:31px;height:31px;padding:0;display:grid;place-items:center;border:0;border-radius:8px;color:#5d6e88;background:transparent}.table-actions button:hover{color:var(--primary);background:var(--soft-blue)}.table-actions button.danger:hover{color:#d83d45;background:#fff0f1}.pagination{min-height:58px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.pagination>div{display:flex;gap:6px}.pagination button{width:32px;height:32px;padding:0;display:grid;place-items:center;border:1px solid #dce4ef;border-radius:8px;color:#4c5d77;background:#fff}.pagination button:disabled{cursor:not-allowed;opacity:.35}.pagination .page-jump{display:flex;align-items:center;gap:5px;color:#71809a;white-space:nowrap}.pagination .page-jump input{width:42px;height:30px;padding:0 5px;border:1px solid #dce4ef;border-radius:7px;color:#273750;font:inherit;text-align:center;outline:none}.pagination .page-jump input:focus{border-color:var(--primary)}.pagination .page-jump-button{width:auto;min-width:42px;padding:0 8px;font-size:10px}.download-overview{min-height:88px;padding:17px 20px;display:flex;align-items:center;gap:14px;border:1px solid #dbe8f8;border-radius:15px;background:linear-gradient(100deg,#f4f9ff,#fff);box-shadow:0 7px 22px #294d820a}.overview-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;color:#2475e8;background:#e5f1ff}.download-overview>div:nth-child(2) span,.download-overview>div:nth-child(2) strong{display:block}.download-overview>div:nth-child(2) span{color:var(--muted);font-size:10px}.download-overview>div:nth-child(2) strong{margin-top:2px;font-size:25px}.overview-note{margin-left:auto;padding:10px 13px;display:flex;align-items:center;gap:8px;border-radius:9px;color:#61758f;background:#edf5ff;font-size:10px}.toolbar-summary{color:#8290a5;font-size:10px}.download-table{min-width:1220px}.customer-table{min-width:1280px}.customer-total,.heading-actions{display:flex;align-items:center;gap:10px}.heading-actions{flex-direction:column;align-items:flex-end;gap:8px}.customer-total{color:var(--primary);font-size:13px;font-weight:700}.customer-downloads{white-space:nowrap;font-size:11px;padding:9px 12px}.customer-export{min-width:110px;white-space:nowrap}.download-count{color:var(--primary);font-weight:800}.download-user{min-width:155px;display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:50%;color:#fff;background:linear-gradient(145deg,#4b93ee,#7bb4fa);font-size:12px;font-weight:700}.user-avatar img{width:100%;height:100%;object-fit:cover}.download-user strong,.download-user span,.download-resource strong,.download-resource span,.download-file strong,.download-file span{display:block}.download-user strong{color:#293850;font-size:11px}.download-user span,.download-resource span{margin-top:4px;color:#95a0b0;font-size:9px}.phone-value{color:#34445d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.wechat-id{display:inline-block;max-width:180px;overflow:hidden;color:#34445d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.download-resource{min-width:220px;max-width:320px}.download-resource strong{overflow:hidden;color:#24324a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.download-file{min-width:210px;display:flex;align-items:center;gap:9px}.mini-file-type{min-width:38px;padding:6px 5px;border-radius:7px;color:#2674df;background:#eaf3ff;font-size:8px;font-weight:800;text-align:center}.download-file>div{min-width:0}.download-file strong{max-width:180px;overflow:hidden;color:#45536a;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.download-file span:last-child{margin-top:3px;color:#9aa5b5;font-size:8px}.download-time{color:#5d6b82;font-size:10px;white-space:nowrap}.loading-state,.empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#8d9aaf;font-size:12px}.loading-state{flex-direction:row}.empty-state strong{color:#45536a;font-size:14px}.empty-state span{color:#9ca7b8;font-size:11px}.form-alert{padding:10px 12px;border:1px solid #ffc8cc;border-radius:9px;color:#b52f3b;background:#fff2f3;font-size:11px;line-height:1.5}.form-alert button{margin-left:6px;padding:0;border:0;color:#a62530;background:none;font-weight:700;text-decoration:underline}.table-alert{margin:14px 20px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:24px;display:grid;place-items:center;background:#0f1d3480;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(780px,100%);max-height:calc(100vh - 48px);overflow:hidden;border-radius:17px;background:#fff;box-shadow:0 24px 70px #0c224640}.modal-card>header{min-height:70px;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9eef5}.modal-card header h2,.modal-card header p{margin:0}.modal-card header h2{font-size:17px}.modal-card header p{margin-top:4px;color:var(--muted);font-size:10px}.modal-body{max-height:calc(100vh - 190px);padding:20px 22px;overflow-y:auto}.modal-card>footer{min-height:67px;padding:13px 22px;display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid #e9eef5;background:#fbfcfe}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1 / -1}.field-label{display:grid;gap:7px;color:#45536b;font-size:11px;font-weight:600}.field-label>span>em{color:#e14950;font-style:normal}.field-label input,.field-label textarea,.field-label select{width:100%;border-radius:9px;font-size:12px}.field-label input{height:40px;padding:0 11px}.field-label textarea{padding:10px 11px;resize:vertical;line-height:1.6}.field-label small{color:#98a4b6;font-size:9px;font-weight:400}.upload-dropzone{width:100%;min-height:115px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1.5px dashed #a9c8ef;border-radius:12px;color:#4485dc;background:#f5f9ff}.upload-dropzone:hover{border-color:#4e91eb;background:#eff6ff}.upload-dropzone strong{max-width:90%;color:#355372;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-dropzone span{color:#889aaf;font-size:9px}.upload-dropzone.compact{min-height:130px}.cover-dropzone{min-height:150px}.cover-preview{width:min(100%,260px);max-height:118px;border-radius:8px;object-fit:cover;box-shadow:0 4px 12px #1f4a7d24}.hidden-input{display:none}.check-field{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid #e1e8f1;border-radius:10px;background:#fbfcfe;cursor:pointer}.check-field input{margin-top:2px;accent-color:var(--primary)}.check-field strong,.check-field small{display:block}.check-field strong{color:#394860;font-size:11px}.check-field small{margin-top:3px;color:#8c98aa;font-size:9px;font-weight:400}.small-modal{width:min(510px,100%)}.mini-code-body{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.mini-code-body img{width:min(300px,100%);max-height:460px;object-fit:contain;border:1px solid #e4ebf5;border-radius:12px;background:#fff}.mini-code-body p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.mini-code-body .secondary-button{min-height:38px;text-decoration:none}.notice-box{margin-bottom:15px;padding:11px;display:flex;gap:9px;align-items:flex-start;border-radius:9px;color:#496586;background:#eef6ff;font-size:10px;line-height:1.55}.confirm-modal{width:min(430px,100%);padding:28px 28px 0;text-align:center}.confirm-modal h2{margin:14px 0 8px;font-size:18px}.confirm-modal p{margin:0 0 24px;color:var(--muted);font-size:11px;line-height:1.7}.confirm-modal footer{margin:0 -28px}.danger-icon{width:52px;height:52px;margin:auto;display:grid;place-items:center;border-radius:50%;color:#d93e48;background:#fff0f1}.toast{position:fixed;z-index:200;right:28px;bottom:28px;min-width:230px;padding:13px 17px;border-radius:10px;color:#fff;background:#1c3e70;box-shadow:0 14px 35px #102c5538;font-size:11px}.toast.error{background:#c84049}.toast-enter-active,.toast-leave-active{transition:.25s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(12px)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(470px,1.05fr) minmax(460px,.95fr);background:#fff}.login-showcase{position:relative;overflow:hidden;padding:42px 7vw;display:flex;flex-direction:column;color:#fff;background:linear-gradient(135deg,#0f4da9,#1d72dc 55%,#4696ed)}.login-brand,.login-mobile-brand{position:relative;z-index:2;display:flex;align-items:center;gap:12px;font-size:18px;font-weight:800;letter-spacing:1px}.login-copy{position:relative;z-index:2;margin:auto 0;max-width:570px}.login-copy h1{margin:14px 0 19px;font-size:clamp(34px,3.4vw,52px);line-height:1.25;letter-spacing:1px}.login-copy>p{max-width:520px;margin:0;color:#d8eaff;font-size:14px;line-height:1.9}.login-points{margin-top:35px;display:grid;gap:17px}.login-points>div{display:flex;gap:11px;align-items:flex-start;color:#ddebff;font-size:12px}.login-points svg{flex:0 0 auto;margin-top:1px;color:#9fd0ff}.login-points strong{margin-right:9px;color:#fff}.showcase-orb{position:absolute;border-radius:50%;background:#ffffff14}.orb-one{width:360px;height:360px;right:-140px;top:-120px}.orb-two{width:230px;height:230px;left:-100px;bottom:-90px}.showcase-grid{position:absolute;inset:auto -50px -50px auto;width:360px;height:360px;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);background-size:32px 32px;transform:rotate(-8deg)}.login-panel{display:grid;place-items:center;padding:40px;background:#fafdff}.login-card{width:min(385px,100%)}.login-mobile-brand{display:none;color:#1e3960}.login-heading{margin-bottom:28px}.login-icon{width:46px;height:46px;margin-bottom:17px;display:grid;place-items:center;border-radius:14px;color:var(--primary);background:#eaf3ff}.login-heading h2{margin:0;color:#172842;font-size:25px}.login-heading p{margin:8px 0 0;color:var(--muted);font-size:12px}.login-card>.field-label{margin-top:17px}.input-wrap{height:44px;padding:0 12px;display:flex;align-items:center;gap:9px;border:1px solid #dbe4ef;border-radius:10px;color:#8a97aa;background:#fff}.input-wrap:focus-within{border-color:#71aaf1;box-shadow:0 0 0 3px #2d7feb1a}.input-wrap input{width:100%;height:auto;padding:0;border:0;box-shadow:none}.input-wrap input:focus{box-shadow:none}.password-toggle{width:28px;height:32px;padding:0;display:grid;place-items:center;border:0;color:#8491a5;background:transparent}.login-button{width:100%;height:45px;margin-top:24px}.dev-hint{margin-top:15px;padding:9px 10px;border-radius:8px;color:#61738e;background:#eef5ff;font-size:10px;text-align:center}.dev-hint code{color:#245fae;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.login-copyright{margin:26px 0 0;color:#a3adbb;font-size:9px;text-align:center}@media (max-width: 1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr 1fr}.login-showcase{padding:38px 5vw}}@media (max-width: 760px){.sidebar{transform:translate(-100%);transition:transform .25s ease}.sidebar.open{transform:translate(0)}.sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;display:block;background:#09193073}.sidebar-close{display:grid;margin-left:auto;color:#adc7ed}.admin-main{margin-left:0}.topbar{height:64px;padding:0 17px}.mobile-menu{display:grid;margin-right:8px}.topbar-title{margin-right:auto}.topbar-title span,.account-name{display:none}.page-container{padding:20px 15px 40px}.welcome-banner{padding:25px}.banner-book{display:none}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:15px}.recent-item{grid-template-columns:42px minmax(130px,1fr) 75px}.ranking-item{grid-template-columns:24px 42px minmax(110px,1fr) 75px}.recent-item .download-stat,.recent-item time{display:none}.page-heading{align-items:flex-start;gap:15px}.toolbar,.resource-filters{align-items:stretch;flex-direction:column}.resource-filters .search-box,.search-box{width:100%}.select-label{justify-content:space-between}.download-overview{align-items:flex-start;flex-wrap:wrap}.overview-note{width:100%;margin-left:0}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-backdrop{padding:10px}.modal-card{max-height:calc(100vh - 20px)}.modal-body{max-height:calc(100vh - 160px)}.login-page{display:block;background:linear-gradient(180deg,#eef6ff,#fff)}.login-showcase{display:none}.login-panel{min-height:100vh;padding:28px 22px}.login-mobile-brand{margin-bottom:48px;display:flex}}@media (max-width: 450px){.stat-grid{grid-template-columns:1fr}.welcome-banner{min-height:195px}.page-heading h1{font-size:20px}.page-heading p{max-width:190px}.primary-button{padding:0 13px}}
