:root{color:#071323;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--blue: #3478f6;--blue-strong: #2563eb;--green: #1fbd62;--red: #f04444;--purple: #8a3ffc;--ink: #071323;--muted: #69758a;--line: #d8e1ef;--page: #eef4fb;--card: #ffffff;--shadow: 0 14px 30px rgba(18, 32, 55, .11)}*{box-sizing:border-box}html{min-width:320px;background:var(--page)}body{min-width:320px;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block}.admin-page{min-height:100vh;background:#f2f6fb;padding:22px 18px 40px}.admin-shell{width:min(1124px,100%);margin:0 auto}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}.admin-header h1{margin:0 0 8px;font-size:clamp(26px,3vw,31px);line-height:1.1}.admin-header p{margin:0;color:#30415a}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:80px;margin-bottom:22px;padding:20px 21px;border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.search-box{display:flex;align-items:center;gap:12px;width:min(405px,100%);height:38px;padding:0 12px;border:1px solid #c6d2e2;border-radius:6px;color:#98a4b7;background:#fff}.search-box input{min-width:0;width:100%;border:0;outline:0;color:var(--ink)}.search-box input::placeholder{color:#8f9bb0}.primary-button,.blue-button,.success-button,.ios-install-button,.ipa-download-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;border:0;border-radius:6px;color:#fff;font-weight:700;cursor:pointer;white-space:nowrap}.primary-button:disabled{cursor:not-allowed;opacity:.72}.primary-button,.blue-button{background:linear-gradient(180deg,#4287ff,var(--blue-strong));box-shadow:0 7px 14px #2563eb3d}.primary-button{min-width:146px;padding:0 20px}.blue-button{padding:0 18px}.success-button{padding:0 18px;background:var(--green)}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 21px}.app-card{min-width:0;min-height:285px;padding:22px 21px;border-radius:8px;background:var(--card);box-shadow:var(--shadow)}.app-card-header{display:flex;gap:16px;min-width:0}.app-icon{width:57px;height:57px;flex:0 0 auto;border-radius:10px;object-fit:cover;box-shadow:0 3px 8px #08122038}.app-icon.large{width:68px;height:68px}.app-card-title{min-width:0}.app-card-title h2{margin:3px 0 5px;overflow-wrap:anywhere;font-size:17px;line-height:1.2}.app-card-title p,.app-card-title span,.app-card-title small{display:block;margin:0;overflow-wrap:anywhere}.app-card-title p{color:#516179;font-size:13px}.app-card-title span{color:#8b98aa;font-size:12px}.app-card-title small{margin-top:4px;color:#f05a2a;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:17px}.metric{min-width:0;min-height:50px;padding:9px 8px;border-radius:6px;background:#eef5ff}.metric span,.metric strong{display:block;overflow-wrap:anywhere}.metric span{margin-bottom:4px;color:#657287;font-size:11px}.metric strong{font-size:14px}.metric-views{background:#f7efff}.metric-views strong{color:#7f28dc}.metric-downloads strong{color:#0f4da8}.app-card-meta{min-height:46px;margin-top:15px;color:#9ba7b8;font-size:12px}.app-card-meta span,.app-card-meta strong,.app-card-meta em{display:block}.app-card-meta strong{margin-top:5px;color:var(--green)}.app-card-meta em{margin-top:5px;color:var(--blue-strong);font-style:normal}.card-actions{display:grid;grid-template-columns:minmax(98px,1fr) minmax(112px,1fr) 34px 34px;gap:8px;margin-top:10px}.icon-button,.danger-icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:7px;cursor:pointer}.icon-button{color:#425167;background:#f0f3f8}.danger-icon-button{color:var(--red);background:#fff0f0}.empty-state{display:flex;align-items:center;justify-content:center;min-height:220px;border:1px dashed #b9c7da;border-radius:8px;color:#607087;background:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#050f1f7a}.modal-panel{width:min(620px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;padding:24px;border-radius:8px;background:#fff;box-shadow:0 22px 50px #0000003d}.modal-header{display:flex;justify-content:space-between;gap:16px;margin-bottom:22px}.modal-header h2,.modal-header p{margin:0}.modal-header h2{font-size:24px}.modal-header p{margin-top:6px;color:var(--muted);line-height:1.5}.upload-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.upload-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.upload-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid #cad6e8;border-radius:7px;color:#425167;background:#f8fbff;cursor:pointer;font-weight:800}.upload-tab.active{border-color:var(--blue);color:#fff;background:var(--blue)}.file-drop{display:grid;place-items:center;gap:7px;margin-bottom:16px;padding:22px;border:1px dashed #a8b9d2;border-radius:8px;color:#425167;background:#f8fbff;cursor:pointer;text-align:center}.file-drop svg{color:var(--blue)}.file-drop span{font-weight:800}.file-drop small{color:var(--muted);line-height:1.45}.file-drop input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.upload-note{margin-bottom:16px;padding:11px 13px;border:1px solid #b7d7ff;border-radius:7px;color:#17438d;background:#eef6ff;font-size:13px;line-height:1.45}.upload-progress{position:relative;height:34px;margin-top:16px;overflow:hidden;border-radius:999px;background:#e8eef7}.upload-progress span{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--blue),var(--green))}.upload-progress strong{position:relative;z-index:1;display:grid;height:100%;place-items:center;color:#172033;font-size:13px}.upload-option{min-height:142px;border:1px solid #cad6e8;border-radius:8px;color:var(--ink);background:#f8fbff;cursor:pointer}.upload-option svg,.upload-option span,.upload-option small{display:block;margin:0 auto}.upload-option svg{margin-bottom:11px;color:var(--blue)}.upload-option span{font-weight:800}.upload-option small{margin-top:7px;color:var(--muted)}.edit-preview{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:16px;border-radius:8px;background:#f2f7ff}.edit-preview strong,.edit-preview span{display:block;overflow-wrap:anywhere}.edit-preview span{margin-top:4px;color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:7px;color:#4f5f73;font-size:13px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{min-width:0;padding:0 12px;border:1px solid #cad6e8;border-radius:6px;color:var(--ink);background:#f8fbff}.form-grid input,.form-grid select{height:40px}.form-grid textarea{min-height:84px;padding-top:10px;resize:vertical}.form-wide{grid-column:1 / -1}.modal-submit{width:100%;margin-top:16px}.inline-error{margin-bottom:18px;padding:14px 16px;border:1px solid #ffd1d1;border-radius:8px;color:#b42318;background:#fff4f4;box-shadow:0 8px 18px #b423180f}.toast{position:fixed;right:22px;bottom:22px;z-index:30;padding:13px 16px;border-radius:7px;color:#fff;background:#172033;box-shadow:0 12px 28px #00000038}.logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border:0;border-radius:6px;color:#425167;background:#fff;box-shadow:0 7px 16px #12203717;cursor:pointer;white-space:nowrap}.auth-loading,.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f2f6fb}.auth-loading{min-height:calc(100vh - 48px);color:#53647a}.login-panel{width:min(420px,100%);padding:34px;border-radius:8px;background:#fff;box-shadow:var(--shadow)}.login-mark{display:grid;width:58px;height:58px;place-items:center;margin-bottom:18px;border-radius:16px;color:#fff;background:linear-gradient(180deg,#4287ff,var(--blue-strong))}.login-panel h1{margin:0 0 8px;font-size:28px;line-height:1.1}.login-panel p{margin:0 0 24px;color:var(--muted);line-height:1.5}.login-panel label{display:grid;gap:8px;margin-bottom:14px;color:#34445a;font-size:13px;font-weight:800}.login-panel input{width:100%;min-width:0;height:42px;padding:0 12px;border:1px solid #cad6e8;border-radius:6px;color:var(--ink);outline:0;background:#f8fbff}.login-panel input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3478f624}.login-error{margin:2px 0 15px;padding:10px 12px;border:1px solid #ffd1d1;border-radius:6px;color:#b42318;background:#fff4f4;font-size:13px}.login-submit{width:100%;min-height:42px}.install-page{min-height:100vh;background:#edf4fd}.install-hero{position:relative;overflow:hidden;min-height:168px;color:#fff;background:linear-gradient(93deg,#2575f6f2,#7654f9eb),#3478f6}.hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.25;background-image:linear-gradient(#ffffff 1px,transparent 1px),linear-gradient(90deg,#ffffff 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at 20% 10%,#000 0,transparent 72%);mask-image:radial-gradient(circle at 20% 10%,#000 0,transparent 72%)}.install-hero:after{position:absolute;right:-4%;bottom:-26px;left:-4%;height:52px;content:"";border-radius:50% 50% 0 0;background:#fff}.install-hero-inner{position:relative;z-index:1;display:flex;align-items:center;gap:28px;width:min(1034px,calc(100% - 48px));min-height:156px;margin:0 auto}.install-icon{width:116px;height:116px;flex:0 0 auto;border:2px solid rgba(255,255,255,.48);border-radius:23px;object-fit:cover;box-shadow:0 9px 24px #00000042}.hero-copy{min-width:0}.hero-copy h1{margin:0 0 10px;overflow-wrap:anywhere;font-size:clamp(34px,5vw,47px);line-height:1}.hero-badges,.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px 12px}.hero-badges span,.hero-badges strong{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:#ffffff2e}.hero-badges strong{color:#fff;background:#23c66f}.hero-meta{margin-top:9px;color:#ffffffe0;font-size:14px}.hero-meta span{display:inline-flex;align-items:center;gap:5px}.install-action-band{background:#fff}.install-actions{display:flex;align-items:center;gap:15px;width:min(1034px,calc(100% - 48px));min-height:99px;margin:0 auto}.ios-install-button{position:relative;min-height:54px;padding:0 34px 0 31px;border-radius:0;background:#060606;font-size:20px}.ios-install-button:after{position:absolute;top:0;right:-12px;width:28px;height:54px;content:"";transform:skew(-12deg);background:#060606}.ios-install-button svg{position:relative;z-index:1}.ipa-download-button{min-height:44px;padding:0 19px;background:#172033}.install-actions p{min-width:0;margin:0;color:#d9e7ff;font-size:14px}.install-content{width:min(980px,calc(100% - 48px));margin:44px auto 0;padding-bottom:24px}.info-panel{padding:35px;border-radius:8px;background:#fff;box-shadow:var(--shadow)}.section-rule{height:1px;margin-bottom:28px;background:var(--line)}.info-panel h2{position:relative;margin:0 0 22px;padding-left:16px;font-size:29px;line-height:1.15}.info-panel h2:before{position:absolute;top:3px;bottom:4px;left:0;width:4px;content:"";border-radius:999px;background:linear-gradient(180deg,#3478f6,#8a3ffc)}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}.info-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;min-height:42px;padding:0 15px;border:1px solid #d8e5fb;border-radius:7px;background:linear-gradient(90deg,#f2f7ff,#f8f4ff)}.info-row span,.info-row strong{min-width:0;overflow-wrap:anywhere;font-size:13px}.info-row span{color:#203148;font-weight:700}.info-blue{color:#2f63ff}.info-purple{color:var(--purple)}.info-green{color:#12a34a}.install-guide{margin-top:28px;padding:22px;border:1px solid #9fc9ff;border-radius:8px;color:#173d99;background:#eef6ff}.install-guide h2{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:15px}.install-guide ol{display:grid;gap:11px;margin:0;padding-left:18px;font-size:13px;line-height:1.5}.not-found-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:#f2f6fb}.not-found-panel{width:min(460px,100%);padding:34px;border-radius:8px;text-align:center;background:#fff;box-shadow:var(--shadow)}.not-found-panel svg{color:var(--blue)}.not-found-panel h1{margin:14px 0 8px;font-size:48px}.not-found-panel p{margin:0 0 22px;color:var(--muted);line-height:1.5}@media(max-width:980px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px 34px}}@media(max-width:720px){.admin-page{padding:18px 12px 32px}.admin-toolbar,.admin-header{align-items:stretch;flex-direction:column}.logout-button,.search-box,.primary-button{width:100%}.app-grid,.info-grid,.upload-options,.form-grid{grid-template-columns:1fr}.app-card{padding:18px}.card-actions{grid-template-columns:1fr 1fr 34px 34px}.success-button,.blue-button{padding:0 10px;font-size:13px}.install-hero-inner{align-items:flex-start;flex-direction:column;gap:16px;width:min(100% - 28px,560px);padding:25px 0 42px}.install-icon{width:92px;height:92px;border-radius:20px}.install-actions,.install-content{width:min(100% - 28px,560px)}.install-actions{align-items:flex-start;flex-direction:column;min-height:134px;padding:20px 0}.ios-install-button{width:min(218px,calc(100% - 16px))}.info-panel{padding:24px 18px}.info-row{align-items:flex-start;flex-direction:column;justify-content:center;gap:4px;padding:10px 12px}.modal-panel{padding:20px}.login-panel{padding:26px 20px}}@media(max-width:420px){.card-actions{grid-template-columns:1fr 1fr}.icon-button,.danger-icon-button{width:100%}.hero-copy h1{font-size:32px}}
