*{box-sizing:border-box}body{background:#f0f2f5;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.license-admin{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.license-admin--main{max-width:1100px;margin:0 auto;padding:24px 16px 48px;display:block}.license-card{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:32px 28px;box-shadow:0 8px 24px #00000014}.license-card h1{text-align:center;margin:0 0 8px;font-size:22px}.license-card p{text-align:center;color:#888;margin:0 0 24px;font-size:14px}.license-card label{color:#666;flex-direction:column;gap:8px;margin-bottom:16px;font-size:14px;display:flex}.license-card input,.license-form input{border:1px solid #ddd;border-radius:8px;height:44px;padding:12px 14px;font-size:15px}.license-card .captcha-code+input{letter-spacing:.28em;text-align:center}.license-form button,.license-list__actions button{color:#fff;cursor:pointer;background:#1677ff;border:none;border-radius:8px;padding:10px 16px;font-size:14px}.license-card__submit{color:#fff;cursor:pointer;background:#1677ff;border:none;border-radius:8px;width:100%;padding:14px;font-size:16px}.license-card__submit:disabled{opacity:.65;cursor:not-allowed}.license-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.license-header__actions{align-items:center;gap:12px;display:flex}.license-header h1{margin:0;font-size:24px}.license-header__count{color:#888;font-size:14px}.license-header__switch .license-switch__text{color:#333;font-size:14px}.license-section{background:#fff;border-radius:12px;margin-bottom:20px;padding:20px;box-shadow:0 1px 4px #0000000f}.license-section h2{margin:0;font-size:16px}.license-section__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.license-list-toolbar{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:280px;display:flex}.license-list-toolbar__search{border:1px solid #ddd;border-radius:8px;flex:1;min-width:200px;max-width:320px;height:36px;padding:0 12px;font-size:14px}.license-list-toolbar__sort{color:#666;align-items:center;gap:6px;font-size:13px;display:inline-flex}.license-list-toolbar__sort select{background:#fff;border:1px solid #ddd;border-radius:8px;height:36px;padding:0 10px;font-size:14px}.license-pagination{border-top:1px solid #f0f0f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:flex}.license-pagination__info{color:#888;font-size:13px}.license-pagination__actions{gap:8px;display:flex}.license-pagination__actions button:disabled{opacity:.45;cursor:not-allowed}.license-section__hint{color:#888;margin:0 0 16px;font-size:13px}.license-form{grid-template-columns:minmax(140px,1fr) 120px 130px 100px minmax(140px,1fr) auto;align-items:end;gap:12px;display:grid}.license-form__field{flex-direction:column;gap:6px;min-width:0;display:flex}.license-form__field label{color:#666;font-size:12px;line-height:1}.license-form__field input,.license-form__field select{width:100%;height:44px;margin:0}.license-form__field select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,#999 50%),linear-gradient(135deg,#999 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 12px) calc(50% + 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #ddd;border-radius:8px;padding:0 12px;font-size:15px}.license-form__field--narrow{min-width:0}.license-form__submit{white-space:nowrap;height:44px;padding:0 20px}.license-form__switch-row{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;padding-top:4px;display:flex}.license-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.license-switch input{opacity:0;width:0;height:0;position:absolute}.license-switch__slider{background:#d9d9d9;border-radius:999px;flex-shrink:0;width:42px;height:24px;transition:background .2s;position:relative}.license-switch__slider:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.license-switch input:checked+.license-switch__slider{background:#1677ff}.license-switch input:checked+.license-switch__slider:after{transform:translate(18px)}.license-switch__text{color:#333;font-size:14px}.license-switch__hint{color:#888;font-size:12px}.license-switch--compact .license-switch__slider{width:36px;height:20px}.license-switch--compact .license-switch__slider:after{width:16px;height:16px;top:2px;left:2px}.license-switch--compact input:checked+.license-switch__slider:after{transform:translate(16px)}.license-list__login-switch{color:#666;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:inline-flex}.license-list__login-switch span:first-child{line-height:1}.license-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.license-list__item{background:#fafafa;border:1px solid #f0f0f0;border-radius:10px}.license-list__body{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.license-list__row{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.license-list__row--primary{gap:12px 20px}.license-list__row--secondary{color:#888;font-size:12px;line-height:1.5}.license-list__row--footer{border-top:1px solid #f0f0f0;justify-content:space-between;gap:12px;padding-top:4px}.license-list__field{align-items:baseline;gap:8px;display:inline-flex}.license-list__field-label{color:#999;flex-shrink:0;font-size:12px}.license-list__field-value{color:#333;font-size:14px;font-weight:600}.license-list__field-value--mono{letter-spacing:.04em;font-family:ui-monospace,monospace;font-size:15px}.license-list__badge{background:#f6ffed;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:12px;font-weight:500}.license-list__badge.status-active{color:#389e0d;background:#f6ffed}.license-list__badge.status-revoked{color:#cf1322;background:#fff2f0}.license-list__badge.status-expired{color:#d46b08;background:#fff7e6}.license-list__sep{color:#d9d9d9}.license-list__note{color:#aaa}.license-list__actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}@media (width<=640px){.license-list__row--footer{flex-direction:column;align-items:flex-start}.license-list__badge{margin-left:0}}@media (width<=960px){.license-form{grid-template-columns:repeat(2,minmax(0,1fr))}.license-form__submit{grid-column:1/-1;width:100%}}@media (width<=520px){.license-form{grid-template-columns:1fr}}.license-empty{text-align:center;color:#999;padding:24px}.status-expired{color:#fa8c16}.btn-secondary{color:#333!important;background:#f0f0f0!important}.btn-adjust{background:#1677ff!important}.btn-restore{background:#52c41a!important}.btn-delete{background:#8c8c8c!important}.license-list__actions button{white-space:nowrap;background:#ff4d4f}.license-list__actions .btn-adjust{background:#1677ff!important}.license-list__actions .btn-restore{background:#52c41a!important}.license-list__actions .btn-delete{background:#8c8c8c!important}.modal-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:24px;box-shadow:0 12px 40px #00000026}.modal__title{margin:0 0 12px;font-size:18px;font-weight:600}.modal__meta{color:#333;flex-direction:column;gap:4px;margin:0 0 8px;font-size:14px;display:flex}.modal__key{letter-spacing:.04em;font-family:ui-monospace,monospace;font-size:15px;font-weight:600}.modal__password{color:#666;font-size:13px}.modal__hint{color:#888;margin:0 0 20px;font-size:13px;line-height:1.5}.modal__field{color:#666;flex-direction:column;gap:8px;margin-bottom:24px;font-size:13px;display:flex}.modal__field input{border:1px solid #ddd;border-radius:8px;padding:12px 14px;font-size:15px}.modal__actions{justify-content:flex-end;gap:10px;display:flex}.modal__actions button{min-width:80px}.license-error{color:#cf1322;background:#fff2f0;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.license-form input{flex:unset;min-width:0}.status-active{color:#52c41a}.status-revoked{color:#ff4d4f}.captcha-code{align-items:center;gap:8px;width:100%;display:flex}.captcha-code__canvas{cursor:pointer;object-fit:contain;background:#eef4ff;border:1px solid #ddd;border-radius:8px;flex:auto;width:auto;max-width:calc(100% - 52px);height:44px;display:block}.captcha-code__canvas--empty{color:#1677ff;background:#f5f8ff;width:100%;margin:0;padding:0;font-size:13px}.captcha-code__refresh{box-sizing:border-box;color:#1677ff;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;flex:0 0 44px;width:44px;height:44px;margin:0;padding:0;font-size:18px;line-height:1}.captcha-code__refresh:hover,.captcha-code__canvas--empty:hover{background:#f0f7ff;border-color:#1677ff}
