body,html{padding:0;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#0b1220;background:#f5f5f7}a{color:inherit;text-decoration:none}*{box-sizing:border-box}.container{max-width:980px;margin:0 auto;padding:24px}.card{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:18px;box-shadow:0 1px 2px rgba(15,23,42,.05),0 12px 40px rgba(15,23,42,.06)}.row{display:flex;gap:12px;flex-wrap:wrap}.btn{background:#007aff;color:#fff;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:600;letter-spacing:.01em;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,opacity .12s ease;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35)}.btn:hover{transform:translateY(-.5px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35),0 8px 22px rgba(0,122,255,.16)}.btn:active{transform:translateY(0);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.35)}.btn.secondary{background:#111827}.btn.ghost{background:hsla(0,0%,100%,.7);border:1px solid rgba(15,23,42,.12);color:#0b1220;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.6)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.input,select{border:1px solid rgba(15,23,42,.14);border-radius:12px;padding:10px 12px;background:hsla(0,0%,100%,.85);transition:box-shadow .12s ease,border-color .12s ease}.input:focus,select:focus{outline:none;border-color:rgba(0,122,255,.55);box-shadow:0 0 0 4px rgba(0,122,255,.16)}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;border-bottom:1px solid rgba(15,23,42,.08);padding:10px;font-size:14px}.table th{font-weight:700;color:rgba(11,18,32,.78)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid rgba(15,23,42,.12);background:hsla(0,0%,100%,.7)}.kv{display:grid;grid-template-columns:160px 1fr;grid-gap:8px 12px;gap:8px 12px;font-size:14px}.muted{color:#475569}.progress{height:10px;border-radius:999px;background:rgba(15,23,42,.1);overflow:hidden}.progress>div{height:10px;background:#22c55e}.spinner{width:14px;height:14px;border-radius:999px;border:2px solid hsla(0,0%,100%,.55);border-top-color:hsla(0,0%,100%,.95);display:inline-block;animation:spin .8s linear infinite}.btn.ghost .spinner{border-color:rgba(15,23,42,.72) rgba(15,23,42,.25) rgba(15,23,42,.25)}@keyframes spin{to{transform:rotate(1turn)}}